《代码整洁之道》 给出关于提高代码质量和可读性的建议。
一些建议对初学者非常有用。下面是我的几条笔记。
关于变量名、函数或类的名称
第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 无副作用
避免使用输出参数。