臟話的頻率是衡量代碼好壞的標(biāo)準(zhǔn)
一、代碼應(yīng)該易于理解
可讀性定理
別人理解它的時間最小化
并不是意味著代碼塊越小理解時間越短,有時候短的代碼可能花費更多的時間去讓被人理解月幌。
理解代碼所需要的時間是否與其他目標(biāo)沖突。
如良好的架構(gòu),易于測試彭羹。并不沖突。因為易于理解的代碼往往可以引向良好的架構(gòu)和測試泪酱。
二派殷、表面層次的改進
2.1、把信息裝進名字里
名字就是一個小小的注釋
1墓阀、選擇專業(yè)名詞
比如:getPage(url)這個方法名get就用的就比較不專業(yè)毡惜。我們無法得知他是從本地緩存取的網(wǎng)頁還是從互聯(lián)網(wǎng)。如果是從互聯(lián)網(wǎng)斯撮,可以使用fetch经伙,或者download。
再比如勿锅,在寫樹的方法時候帕膜,我們用size()表達樹的高度,但是在閱讀時人們可能會產(chǎn)生疑惑溢十,這個方法是得到樹的節(jié)點數(shù)嗎垮刹,于是得詳細(xì)閱讀代碼才能知道這個代碼是用來獲取什么。是不是使用height()的方法名表意更清楚呢张弛,如果想獲得節(jié)點數(shù)荒典,就使用NumNodes()方法名來表示酪劫。
那么,如何選擇專業(yè)名詞呢寺董。
找到更有表現(xiàn)力的詞
image.png
2覆糟、避免使用泛泛的名字
3、用具體的名字代替抽象的名字
4螃征、使用前綴或后綴給名字附加更多信息
5搪桂、決定名字長度
在小作用域里可以使用短名字
6、利用名字格式表達含義
2.2盯滚、代碼的審美
代碼采用好的審美可以提高代碼的可讀性踢械,包括
1、可以重新安排換行魄藕,讓相似的代碼看起來盡可能相似
2内列、如果換行讓代碼依舊毫無美感,可以將相似的代碼提煉到一個方法里
3背率、在需要時使用列對齊话瞧,如果不是那么費功夫的話。
4寝姿、選一個有意義的順序交排,至始至終保持他。
5饵筑、可以把代碼的聲明按邏輯分組埃篓。
6、把代碼分成段落根资,用空行隔開架专。
7、保持個人風(fēng)格的一致玄帕。
三部脚、簡化循環(huán)
3.1、讓控制流變得易讀
1裤纹、注意條件語句參數(shù)的順序委刘。
通常來說,被詢問的是放在左側(cè)
2鹰椒、最小化嵌套
方式:1.使用continue 2锡移、使用提早返回