臟話的頻率是衡量代碼好壞的標準
一、代碼應該易于理解
可讀性定理
別人理解它的時間最小化
并不是意味著代碼塊越小理解時間越短,有時候短的代碼可能花費更多的時間去讓被人理解。
理解代碼所需要的時間是否與其他目標沖突。
如良好的架構,易于測試。并不沖突。因為易于理解的代碼往往可以引向良好的架構和測試。
二、表面層次的改進
2.1、把信息裝進名字里
名字就是一個小小的注釋
1、選擇專業名詞
比如:getPage(url)這個方法名get就用的就比較不專業。我們無法得知他是從本地緩存取的網頁還是從互聯網。如果是從互聯網,可以使用fetch,或者download。
再比如,在寫樹的方法時候,我們用size()表達樹的高度,但是在閱讀時人們可能會產生疑惑,這個方法是得到樹的節點數嗎,于是得詳細閱讀代碼才能知道這個代碼是用來獲取什么。是不是使用height()的方法名表意更清楚呢,如果想獲得節點數,就使用NumNodes()方法名來表示。
那么,如何選擇專業名詞呢。
找到更有表現力的詞
image.png
2、避免使用泛泛的名字
3、用具體的名字代替抽象的名字
4、使用前綴或后綴給名字附加更多信息
5、決定名字長度
在小作用域里可以使用短名字
6、利用名字格式表達含義
2.2、代碼的審美
代碼采用好的審美可以提高代碼的可讀性,包括
1、可以重新安排換行,讓相似的代碼看起來盡可能相似
2、如果換行讓代碼依舊毫無美感,可以將相似的代碼提煉到一個方法里
3、在需要時使用列對齊,如果不是那么費功夫的話。
4、選一個有意義的順序,至始至終保持他。
5、可以把代碼的聲明按邏輯分組。
6、把代碼分成段落,用空行隔開。
7、保持個人風格的一致。
三、簡化循環
3.1、讓控制流變得易讀
1、注意條件語句參數的順序。
通常來說,被詢問的是放在左側
2、最小化嵌套
方式:1.使用continue 2、使用提早返回