Categories
未分类

命名是件大事情

这是《Clean code》第二章的笔记总结,关于程序变量、方法、类的命名的一些建议。文章的内容还是非常有帮助的。很多的建议虽然我们都听过,然而看了其中的例子,你就会发现,那些建议都并不是一句空话,这样写和那样写,可读性就是有很大不同。 ### 使用的名字要表现出它的作用 不好的命名:int d; // elapsed time in days. 好的命名: int elapsedTimeInDays; 很多时候,为了更好的可读性,可以使用一个类来封装一下基础类型,比如一个扫雷程序,游戏中每个格子可以用一个int[]来表示,其中数组中的元素表示了这个格子的坐标、状态等其他信息。下面的函数用于获取棋局中所有被点开的格子。 public List<int[]> getFlaggedCells() { List<int[]> flaggedCells = new ArrayList<int[]>(); for (int[] cell : gameBoard) if (cell[STATUS_VALUE] == FLAGGED) flaggedCells.add(cell); return flaggedCells; } 这时候可以用一个类Cell来封装一下表示每个格子的int[], 程序将变成下面的样子: public List<Cell> getFlaggedCells() { List<Cell> flaggedCells = new ArrayList<Cell>(); for (Cell cell : gameBoard) if (cell.isFlagged()) […]

Categories
未分类

《Clean Code》阅读:在大师们的眼中,什么样的Code才是Clean Code?

前几天开始看Uncle Bob的《Clean Code》,在第一章里,作者讨论了这样的一个问题:什么样的code才是Clean code。对于这个问题,一千个Programmer可能会有一千个答案,所以作者请教了6个著名的专家,问问他们对于这个问题的看法,以下三个是我认为不那么虚的,比较有操作参考意义的回答: #### 1. Bjarne Stroustrup, C++之父 I like my code to be elegant and efficient. The logic should be straightforward to make it hard for bugs to hide, the dependencies minimal to ease maintenance, error handling complete according to an articulated strategy, and per- formance close to optimal so as not to […]