什麼是整潔的程式碼(Clean Code)?

iteye發表於2012-12-27

什麼樣的程式碼才是真正好的、整潔的程式碼?來看看大牛們怎麼說。

Bjarne Stroustrup,C++之父:

我喜歡優雅、高效的程式碼:

  • 邏輯應該是清晰的,bug難以隱藏;
  • 依賴最少,易於維護;
  • 錯誤處理完全根據一個明確的策略;
  • 效能接近最佳化,避免程式碼混亂和無原則的優化;
  • 整潔的程式碼只做一件事。

Grady Booch,《物件導向分析與設計》作者:

  • 整潔的程式碼是簡單、直接的;
  • 整潔的程式碼,讀起來像是一篇寫得很好的散文;
  • 整潔的程式碼永遠不會掩蓋設計者的意圖,而是具有少量的抽象和清晰的控制行。

Dave Thomas,OTI公司創始人,Eclipse戰略教父:

  • 整潔的程式碼可以被除了原作者之外的其他開發者閱讀和改善;
  • 具備單元測試和驗收測試;
  • 有一個有意義的名字;
  • 使用一種方式來做一件事情;
  • 最少的依賴,並明確定義;
  • 提供了一個清晰的、最小的API;
  • 應該根據語言特性,在程式碼中單獨顯示必要的資訊,而不是所有的資訊。

Michael Feathers,《修改程式碼的藝術》作者:

  • 整潔的程式碼看起來總是像很在乎程式碼質量的人寫的;
  • 沒有明顯的需要改善的地方;
  • 程式碼的作者似乎考慮到了所有的事情。

Ward Cunningham,Wiki和Fit創始人,極限程式設計聯合創始人,Smalltalk和麵向物件的思想領袖:

  • 當你讀程式碼時,你發現每個程式都如你期待的那樣
  • 你可以稱之為漂亮的程式碼
  • 程式碼完美展現了該程式語言的設計目的

總之,整潔的程式碼的特點: 

  • 容易與其他人協作(簡單、意圖明確、良好的抽象、不出意料、合適的名稱)
  • 針對現實世界,比如,有一個清晰的錯誤處理策略
  • 程式碼作者顯然很關心軟體和其他開發者(針對雙方的可讀性和可維護性)
  • 最小化(做一件事,最小的依賴)
  • 以最合適的方式解決問題

英文原文:What Is Clean Code?

相關文章