程式碼整潔之道 clean code 讀書筆記
《程式碼整潔之道》 給出關於提高程式碼質量和可讀性的建議。
一些建議對初學者非常有用。下面是我的幾條筆記。
關於變數名、函式或類的名稱
第2章 有意義的命名
2.2 名副其實
變數、函式或類的名稱應該告訴你 它是什麼、能做什麼、該怎麼用。
Int d; //消逝的時間,以日計
Int elapsedTimeInDays;
顯然第二種更明確。
另一個例子:
Public List<int[]> getThem(){
List<int[]> list1 = new ArrayList<int[]>();
for (int[] x : theList)
if (x[0] == 4)
list1.add(x);
return list1;
}
只看程式碼,很難理解這個到底是做什麼的。
但是隻要修改一下函式名、變數名就會讓它變得明確。
Public List<Cell> getFlaggedCells(){
List<Cell> flaggedCells = new ArrayList<Cell>();
for (Cell cell : gameBoard)
if (cell.isLlagged())
flaggedCells.add(cell);
return flaggedCells;
}
函式
3.1 短小
函式就該小
程式碼塊和縮排:
If else while語句其中的程式碼塊一個只有一行,這行應該是一個函式呼叫。
3.2 只做一件事
函式應該只做一件事。
3.5 使用描述性的名稱
別害怕長名稱。
3.6 函式引數
函式引數應該儘可能少。
3.6.2 標識引數
儘量不要傳佈爾值,
因為這樣通常意味著
函式在true時要做一件事,在
false時又做另一個事情。
3.6.5 引數物件
如果函式需要2個以上引數,考慮將一些引數封裝為類。
例如:Circle makeCircle(double x, double y, double radius);
Circle makeCircle(Point center, double radius);
3.7 無副作用
避免使用輸出引數。