1. 程式人生 > >程式碼整潔之道 clean code 讀書筆記

程式碼整潔之道 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 無副作用

避免使用輸出引數