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