你的代碼有教育后人的義務與責任
世界童軍運動(Scout Movement)的口號“留下一個比你現在看到的更好的世界”完美的適用軟件開發活動。通常它是用來鼓勵程序員將以前的程序員留下的爛攤子清理干凈,但這個道理是雙向適用的。所有的軟件開發人員都有責任為以后的程序員留下一個更適合他們工作的代碼環境。我們有責任去教育他們,即使我們可能永遠不會和這些學生見面。
Reg Braithwaite先生曾在 文章里談到如何選擇在項目中使用什么樣的技術、工具或編程語言。程序員在做這些決定時必須考慮環境背景:我們將和誰一起工作,我們將要做什么,為什么會選擇這樣的技術路線。
而我優先考慮的不是當前項目,也不是將和我一起開發的這些人。我優先考慮的是將來的那些我未曾謀面的程序員,那些將會研究我的代碼的程序員。
我希望他們不但能修改我的代碼或增添功能,而且能從其中學到一些東西,就像是我從現在讀到的代碼中學到的。
這是一個難以捉摸、很難實現的目標。通過代碼傳教,你需要把讀者帶回到當時的環境。如果你使用很老的技術,這反而會帶來麻煩。我們必須考慮到所處的編程文化,這是難點。對此我沒有建議提供,按你們認為正確的方法做吧。
重要的是你要有愿望去傳教,去分享你的知識。如果你可以使用函數式的Javascript技術來條理化你的邏輯,你就有責任這樣做。如果你看到一個方法能把 一個復雜的Ruby方法變成一個簡單算法和數據結構,那么你就一定要這么做。這樣做并不是簡單的代碼更整潔了,更是因為你能讓將來的程序員變成一個更好的 程序員。
因為這些,我認為,作為程序員關鍵的一點就是去擴展我們的視野。學習函數式編程,學習各種語言,學習陳述式編程,學習微控制器和界面交互,學習從未聽說的所有東西,用編程來教育自己。
[英文原文: It is our responsibility to teach ]
</div>
來自: 外刊IT評論 http://www.aqee.net/
本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!