我理解的Clean程式碼 - macerub

banq發表於2020-08-05

什麼是清潔程式碼?正如鮑勃大叔清潔程式碼書中說:清潔程式碼的定義可能與程式設計師一樣多。
首先,我最喜歡的一位著名作家的話是:“乾淨的程式碼讀起來就像寫好的散文”(@Grady_Booch)。簡短的句子說明了一切。乾淨的程式碼應該和讀一本好小說一樣愉快。名字已經透露,流程很簡單。清潔程式碼講述了一個故事。
乾淨的程式碼就像一幅好畫。當您看一幅好畫時,即使您不是畫家,也知道它是好東西。乾淨的程式碼感覺一樣。很高興閱讀。有序而優雅。一切都在這裡是有原因的。它使你微笑。
乾淨的程式碼很簡單。它是如此簡單,以至於作者看起來並不聰明。但是,很明顯,該程式碼是由努力的人編寫的。簡單不容易。乾淨的程式碼總是看起來像是由對自己的工藝充滿熱情的人編寫的。
乾淨的程式碼集中。簡而言之,它做一件事並且做得很好。目的很明確。沒有歧義。它沒有意外和意外的副作用。如果您呼叫“ fillComboBox”,您將知道該方法不會無意間修改檔案。
清潔程式碼講的是問題,而不是解決方案。它講述了要解決的問題的故事。它處於正確的抽象級別。它使用最少的“計算機化”術語。

清潔原則密切關注細節:
  • 錯誤程式碼是有意義的。
  • 錯誤處理是明確的。
  • 變數名和函式名是一致的。
  • 沒有記憶體洩漏。
  • 沒有棘手的構造。
  • 抽象是表達性和有用的。


清潔程式碼沒有散發壞味道:
  • 它不是剛性的。很容易改變。
  • 它不是固定的。您可以輕鬆地重用它。
  • 它不是不透明的。很容易理解其意圖。
  • 它並不脆弱。您可以在不引入意外錯誤的情況下進行更改。


全面而有意義的測試套件涵蓋了乾淨的程式碼。無論今天的程式碼多麼乾淨。如果沒有測試,則無法自信地進行重構。這意味著程式碼最終將變得不乾淨。
但是,為什麼要讓程式碼乾淨?程式碼被讀取的次數遠遠大於其被寫入的次數。傾向於以犧牲可讀性為代價而使編寫速度更快的解決方案或技術是沒有道理的。

快速前進的唯一方法就是前進

呼籲軟體公司人事:停止尋找刷油漆的專家。尋找優秀的藝術家。將精力集中在尋找可以編寫乾淨程式碼的軟體工程師上。

 

相關文章