天天看點

閱讀劄記:《代碼之道》Clean Code chapter 1 讀書筆記

将代碼必須簡潔的概念推廣出去這件事情不僅僅對于閱讀代碼意義重大,對于編寫代碼也是十分重要的。因為在加入一個重大項目的時候,大多數人可能面臨的是一份已經被疊代多次的代碼了,那時候添加任何一行新的代碼,都需要通過閱讀之前的代碼來實作。

比較有意思的一點是,作者将産品的需求文檔和RD的代碼相提并論還是蠻有意思的,他認為代碼實際上直接而言就是在“翻譯”産品的需求文檔,文中說道“如果說需求規約原則教給了我們什麼,那就是歸置良好的需求就像代碼一樣正式,也能作為代碼的可執行測試來使用”,也就是說産品的需求文檔要好到像一份好的代碼一樣,可以經得過測試的考驗。

就像一千個人眼中有一千個哈姆雷特一樣,很多業界大牛對clean code也持有不同看法。盡管這樣,但是計算機界很多年來一直為人稱道的一句話就是“每個函數、每個類和每個子產品都全神貫注于一件事,完全不受四周細節的幹擾和污染”。此外,有的人十分推崇“小塊的代碼”,這其實與“專注一件事”的理念無二異;代碼的創作者應當像照料小孩一樣“着力照料自己的代碼”;當一個對象的功能太多時,我們可以嘗試“将這一對象拆分成多個對象”。令人印象最深刻的是,其中一個人說道,“這麼多年下來,我發現所有程式都由極為相似的元素構成”,他舉了一個例子——“在集合中查找某個東西”,比如雇員記錄資料庫和key-value哈希表,針對這樣的情況,隻要抽象的足夠好,做很多事情其實都是在做一件事情,“減少重複代碼,提高表達力,提早建構簡單抽象”是這位作者推崇的簡潔代碼的理念。