CleanCode《代碼整潔之道》讀書筆記

總結,基本和目錄也差不多。用來時刻提醒自己編寫可維護,易讀的代碼

第一章

---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

第二章

---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

第三章 函數

1.函數要短小

2.一個函數只包含一個功能

3.函數裏儘量只包含一個縮進,有利於文檔的註釋和代碼的理解

4.確保Switch在低抽象層級.(因爲Switch天生就是用來,違背了函數只做一件事的原則)

5.使用描述性的名稱,讓它能夠較好的描述函數縮做的事情(功能越是集中,程序越短小,越是有利於你的你給你的函數取一個好名字)

6.函數的參數儘量少,最好的就是沒有,除非有很必要的情況,否則不要使用三個參數及以上

【標識參數】儘量不要使用標識參數,有了bool這個參數,就說明這個函數並不是單一功能,而是根據bool的值在執行準備好的功能。這個方法可以拆成兩個方法

【一元函數】堅持使用者這種形式的一元函數(對於轉換,使用帶返回值的寫法可讀性會強很多)


【二元函數】二元函數其實還好。

正常的情況,關於位置的函數有兩個參數x和y就很正常。但是有的函數的順序需要額外的學習約定。所以在一些情況下,二元函數是可以繼續優化的。比如

方案一:writeField(outputStream, name)-------->將writeField寫成outPutStream的成員之一:outputStream.writeField(name)

方案二:把outputStream寫成當前類的成員變量,從而無需傳遞它。

方案三:分離出類似FieldWriter的新類,在其構造器中採用outputStream,並且包含一個write方法

【三元函數】三元函數的排序琢磨忽略問題難度倍增,寫三元函數之前儘量考慮清楚

【多個參數】如果函數的看起來需要兩個三個或者是三個以上的參數,就說明其中的一些參數就該封裝爲類了

舉例:Circle makeCircle(double x, double y, double radius)

           Circle makeCircle(Point center, double radius)

【參數列表】略 P41 Line3

【動詞與關鍵詞】對於一元函數來說,函數和參數應當形成一種非常良好的動/名詞形式,例如write(name)

7.無副作用

8.分隔指令與詢問

9.使用異常替代返回錯誤碼

10.別重複自己

11.結構化編程

12.如何書寫這樣的代碼

先是想什麼寫什麼,然後再打磨它,直至她成爲自己心中的樣子。

我們開始寫函數時,都是冗長而複雜,有太多的縮進,過長的參數列表,取名肆意,重複代碼多,然後打磨代碼,分解函數,修改名稱,消除重複,縮短和重新安裝方法,有時還可能會拆散類,同時保持測試通過,然後按照上面列出的規則,組裝這些函數。

---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

第四章

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章