代码整洁之道
一、简介
大约在1951年,一种名为“全员生产维护(Total Productive maintenance,TPM)”的质量保证手段出现在日本。关注维护甚至关注生产,TPM的主要支柱之一是所谓的5S原则体系。
1).5S哲学包含以下概念:
整理:组织,搞清楚事物之所在。
整顿:整齐,物皆有其位,而后物尽归其位。
清楚:清洁,对于那种四处遗弃的带注释的代码及反应过往或期望的无注释代码,除之而后快。
清洁:标准化,使用统一风格。
身美:自律,乐于改进。
2).稍后等于永不,(later equals naver)
二、命名的重要性:
以下代码的目的何在?
1 public List<int[]> getThem() { 2 List<int[]> list1 = new ArrayList<int[]>(); 3 for (int[] x : thheList) { 4 if (x[0] == 4) 5 list1.add(x); 6 return list1; 7 } 8 }
以下代码放扫雷游戏中,
1 public List<Cell> getFlaggedCells() { 2 List<Cell> flaggedCells = new ArrayList<Cell>(); 3 for (Cell cell : geameBoard) 4 if (cell.isFlageged()) 5 flaggedCells.add(cell); 6 retuen flaggedCells; 7 }
注意,代码的简洁性并未触及,运算符和常量数量没变,但是代码变得简洁明了了很多。这就是好的命名的力量。
4).避免误导
以同样的方式拼写出同样的概念才是信息,拼写前后不一致就是误导。
5).做有意义的区分
prooduuctData和productInfo名称不一样,意思却无区别。
6).使用能读出来的名称
7).使用可搜索的名称
8).避免使用编码
9).避免思维映射
10).类名不应当是动词
11).方法名
方法名应当是动词或者动词短语。
三、函数
1.短小,函数的第一规则就是要短小。
2.只做一件事,每一个函数只做一件事。
3.每个函数一个抽象层级。
4.switch语句,写出switch语句很难。
5.使用描述性的名。
6.函数参数,最理想的是零参数,其次是一,再次二,应该避免三参数函数。
7.无副作用,只做一件事,其他的事可能会被隐藏。
8.分割指令与需询问
9,使用异常代替错误码
10.别重复自己
11.结构化编程