我理解的Clean程式碼 - macerub
什麼是清潔程式碼?正如鮑勃大叔清潔程式碼書中說:清潔程式碼的定義可能與程式設計師一樣多。
首先,我最喜歡的一位著名作家的話是:“乾淨的程式碼讀起來就像寫好的散文”(@Grady_Booch)。簡短的句子說明了一切。乾淨的程式碼應該和讀一本好小說一樣愉快。名字已經透露,流程很簡單。清潔程式碼講述了一個故事。
乾淨的程式碼就像一幅好畫。當您看一幅好畫時,即使您不是畫家,也知道它是好東西。乾淨的程式碼感覺一樣。很高興閱讀。有序而優雅。一切都在這裡是有原因的。它使你微笑。
乾淨的程式碼很簡單。它是如此簡單,以至於作者看起來並不聰明。但是,很明顯,該程式碼是由努力的人編寫的。簡單不容易。乾淨的程式碼總是看起來像是由對自己的工藝充滿熱情的人編寫的。
乾淨的程式碼集中。簡而言之,它做一件事並且做得很好。目的很明確。沒有歧義。它沒有意外和意外的副作用。如果您呼叫“ fillComboBox”,您將知道該方法不會無意間修改檔案。
清潔程式碼講的是問題,而不是解決方案。它講述了要解決的問題的故事。它處於正確的抽象級別。它使用最少的“計算機化”術語。
清潔原則密切關注細節:
- 錯誤程式碼是有意義的。
- 錯誤處理是明確的。
- 變數名和函式名是一致的。
- 沒有記憶體洩漏。
- 沒有棘手的構造。
- 抽象是表達性和有用的。
清潔程式碼沒有散發壞味道:
- 它不是剛性的。很容易改變。
- 它不是固定的。您可以輕鬆地重用它。
- 它不是不透明的。很容易理解其意圖。
- 它並不脆弱。您可以在不引入意外錯誤的情況下進行更改。
全面而有意義的測試套件涵蓋了乾淨的程式碼。無論今天的程式碼多麼乾淨。如果沒有測試,則無法自信地進行重構。這意味著程式碼最終將變得不乾淨。
但是,為什麼要讓程式碼乾淨?程式碼被讀取的次數遠遠大於其被寫入的次數。傾向於以犧牲可讀性為代價而使編寫速度更快的解決方案或技術是沒有道理的。
快速前進的唯一方法就是前進
呼籲軟體公司人事:停止尋找刷油漆的專家。尋找優秀的藝術家。將精力集中在尋找可以編寫乾淨程式碼的軟體工程師上。
相關文章
- 程式碼整潔之道 clean code
- 什麼是整潔的程式碼(Clean Code)?
- Clean Code PHP 程式碼簡潔之道PHP
- [精選]Clean PHP Code(清晰的PHP程式碼思路)PHP
- 程式碼整潔之道Clean Code筆記筆記
- 程式,程式,執行緒的最形象理解(理解不了可以直接懟我)執行緒
- 乾淨整潔程式碼(Clean Code)的本質是什麼? - mariocervera
- 怎樣寫出漂亮整潔的程式碼?聊聊 Clean Code 的編碼、重構技巧
- 理解了物件導向,我突破了地元境,程式碼寫的真棒!物件
- 程式碼模板 | 我的程式碼沒有else
- Todo‑mvp‑clean 原始碼體驗MVP原始碼
- 我所理解的 iOS 併發程式設計iOS程式設計
- 我似乎理解了程式設計的意義程式設計
- 經驗分享:乾淨整潔程式碼(clean code)的特點 - oliver
- 我寫的jQuery程式碼jQuery
- DDD 我的理解
- 當我寫程式碼時 我寫的是
- 《The Clean Coder》中的「Clean」如何譯?【已結貼】
- 我對函數語言程式設計的理解函數程式設計
- 我見過的最糟糕的程式程式碼
- 誰動了我的程式碼!?
- 我的最糟糕程式碼列表
- 我眼中的程式碼的未來
- 編寫易於理解的程式碼
- 我對抽象的理解抽象
- 我所理解的Arthas
- 我所理解的前端前端
- 我對引擎的理解
- 我對SNS的理解
- 命令模式(我的理解)模式
- 我所理解的機器學習機器學習
- 藉助ai來分析程式碼,理解程式碼AI
- 貝葉斯網路,看完這篇我終於理解了(附程式碼)!
- 開發者故事|程式碼虐我千萬遍,我待程式碼如“初戀”
- 《Clean Code》
- Spring Boot的Clean架構教程與原始碼 - BaeldungSpring Boot架構原始碼
- 前端的Clean Architecture前端
- 封裝我們的VBA程式碼封裝