好代碼是怎樣煉成的

jopen 9年前發布 | 6K 次閱讀 代碼

作者:Erica Sadun,原文鏈接,原文日期:2015-10-28
譯者:小鐵匠Linus;校對:千葉知風;定稿:千葉知風

最近有個人發 Email 問我:“好代碼是怎樣煉成的”。之前,我身體有點不舒服,所以我漫無邊際的說了下。現在好多了,所以我想分享一下以下這些想法,因為我覺得這些對于這次重要的討論來說是一個有趣的起點。

當時,我寫道:

  • 好代碼并不只是可以編譯而已,它還會溝通。它會和現在的你交談,也會和以后維護代碼的你交談。它對于你的團隊和任何外部來查看的人來說都是可以被理解的。

  • 好代碼對可靠性和可測試性的要求勝過聰明的小技巧。如果需要清晰的表明自己的意圖和結果,好代碼會更傾向于使用一個或多個額外的步驟來表達。

  • 好代碼也考慮其使用程度,一段代碼一次跑一百萬遍和只跑一遍的要求是不同的,就好比在樹林里的一棵樹和孤零零的一棵樹那樣。

  • 好代碼即使被分解了也可以成為合理的單元,而不是大規模的單一的實現。

  • 好代碼不僅僅是實現一次或兩次,而且還要審查和重構。這才有可能讓它成為最好的和最健壯的實現。

  • 好代碼會考慮到全球化,并提供給不同文化的潛在用戶。添加國際化以及相關的可訪問性,這些真的是代碼層面的事情,而不是嘴上說說的馬后炮而已。

  • 好代碼不僅僅考慮今天具體運行在什么環境上,也考慮如何適應這些可能隨時間變化的環境。

以上是我想到的,你對我關于這個“好代碼是怎樣煉成的”話題列出的清單有什么想添加、刪除、修改的?期待看到你們的想法。

更新

Seivan Heidari 建議添加:好代碼會在作為 API 為外面調用時,不提供內部的實現細節。

Anonymous 建議添加:好代碼是渾然天成的。好代碼可以照你需要的樣子執行,且能被按時交付,其余的都是扯蛋哈哈。

Dave DeLong 建議添加:好代碼會讓讀的人產生敬畏,并使讀的人受到啟發從而也去寫自己的好代碼。

Paul Cantrell 建議添加:好代碼會注意權衡。它會根據工程來權衡,而不是按照絕對的教條。它也不會讓工具或技術成為組內狀態標記(in-group status markers)。

Rainer Brockerhoff 建議添加:好代碼可以被很輕松的重用(即使是在幾年之后),也能只用幾行代碼來進行擴展或改編。

 本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!