第一章 整潔代碼

什么是整潔代碼?

經(jīng)驗(yàn)豐富的程序員:

Bjarne Stroustrup: 我喜歡優(yōu)雅和高效的代碼,代碼邏輯應(yīng)當(dāng)直截了當(dāng),叫缺陷難以隱藏;盡量減少依賴關(guān)系,使之便于維護(hù);依據(jù)某種分層戰(zhàn)略完善錯(cuò)誤處理代碼;性能調(diào)至最優(yōu),省得引誘別人做沒規(guī)矩的優(yōu)化,搞出一堆混亂來。整潔的代碼只做好一件事。

Grady Booch: 整潔的代碼簡單直接。整潔的代碼如同優(yōu)美的散文。整潔的代碼從不隱藏設(shè)計(jì)者的意圖,充滿了干凈利落的抽象和直截了當(dāng)?shù)目刂普Z句。

Dave Thomas: 整潔的代碼應(yīng)可由作者之外的開發(fā)者閱讀和增補(bǔ)。它應(yīng)有單元測(cè)試和驗(yàn)收測(cè)試。它使用有意義的命名。它只提供一種而非多種做一件事的途徑。它只有盡量少的依賴關(guān)系,而且要明確地定義和提供清晰、盡量少的 API。代碼應(yīng)通過其字面表達(dá)含義,因?yàn)椴煌恼Z言導(dǎo)致并非所有必需信息均可通過代碼自身清晰表達(dá)。

Michael Feathers: 我可以列出我留意到的整潔代碼的所有特點(diǎn),但其中有一條是根本性的。整潔的代碼總是看起來像是某位特別在意它的人寫的,幾乎沒有改進(jìn)的余地。代碼作者什么都想到了,如果你企圖改進(jìn)它,總會(huì)回到原點(diǎn),贊嘆某人留給你的代碼——全心投入的某人留下的代碼。

什么樣的代碼算是整潔?

  • 只做好一件事情
  • 沒有重復(fù)代碼
  • 代碼邏輯直接了當(dāng),只包含必須的代碼
  • 盡可能少的依賴關(guān)系,便于維護(hù)
  • 明確的定義,提供清晰的盡可能少的API
  • 小塊的代碼塊
  • 好的表達(dá)力(體現(xiàn)在變量名,方法和類的抽象等)
  • 完善錯(cuò)誤處理代碼(容易被忽略的細(xì)節(jié))
  • 一致性(架構(gòu)設(shè)計(jì),變量名,編碼規(guī)范等)
  • 趕上期限的唯一方法:始終盡可能保持代碼整潔。
  • 整潔的代碼只做好一件事。
  • 整本書的主旨,不要重復(fù)代碼,只做一件事,表達(dá)力,小規(guī)模抽象。
  • 要想干得快,要想快點(diǎn)做完,要想輕松寫代碼,先讓代碼易讀吧。
  • 讓每次簽入時(shí),代碼都比簽出時(shí)干凈。
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 1.3.5 什么是優(yōu)雅代碼 代碼邏輯直截了當(dāng) ,叫缺陷難以隱藏; 盡量減少依賴關(guān)系,使代碼易于維護(hù); 依據(jù)某種分層...
    coding_zero閱讀 223評(píng)論 0 0
  • 這一章,我覺得主要寫的是四個(gè)方面: 1, 整潔代碼(Clean Code)的動(dòng)機(jī) 2, 整潔代碼也是態(tài)度問題 3,...
    徐朝_尼克徐閱讀 1,563評(píng)論 0 0
  • 最近在讀代碼整潔之道,做一下讀書筆記 1、代碼確然是我們最終要表達(dá)需求的那種語言。 2、糟糕的代碼可以毀掉一家公司...
    趙老拖閱讀 187評(píng)論 0 0
  • 海到無邊天作岸,山登絕頂我為峰。作為猿類的我們,對(duì)自己創(chuàng)造的代碼有著一種天生的無比自信。這是好事~可是,對(duì)于我們的...
    獨(dú)釣寒江雪_520閱讀 1,125評(píng)論 0 0
  • 張東輝,焦點(diǎn)初級(jí)第43期堅(jiān)持原創(chuàng)分享第70天(2017.11.10) 昨天晚上是我的第十次約練,在Z老師和D老師兩...
    星悅傳奇閱讀 250評(píng)論 0 0

友情鏈接更多精彩內(nèi)容