代码审查能够帮助提升代码质量,避免因为代码习惯而形成的 bug。下面列出的这些要点因该能够做为大部分代码审查的指导,若是是 Java 应用的话,这些建议应该被视做最佳实践。
文档
1. Javadoc 应该在每个类和方法中添加。
2. 若是是修复某个 bug,应该添加 bug ID。
3. 走捷径的方法或者复杂的逻辑要有解释。
4. 若是代码会被公开,每一个文件头都要标注版权信息。
5. 复杂的 HTML,JavaScript,CSS 应该包含文档。
功能
1. 若是相似的逻辑被使用了屡次,应该把它写成一个帮助类,而后在多出调用。
2. 鼓励使用 API 而不是重复编写代码解决相同的问题。
3. 要强调代码的单元测试。
4. 任何新加的代码不该该破坏已有的代码。
5. 假如是 Web 应用,JSP 不该该包含 Java 代码。
安全
1. 任何代码都不能执行用户的输入,除非转义过了。这个经常包含 JavaScript 的 eval 函数和 SQL 语句。
2. 禁止那些在短期内提交很是多请求的 IP。
3. 任何类,变量,还有方法都应该有正确的访问域。
4. 尽可能避免使用 iframe。
性能
1. 全部数据库和文件操句柄在不须要的时候都应该被关闭。
2. SQL 语句的写法会致使性能千差万别。
3. 鼓励建立不可变(immutable)的类。
4. 相似的逻辑代码,尽可能经过 if else 语句来实现更多的重用。
5. 尽可能避免使用重对象(heavy objects)。
6. 若是是 Web 项目,请检查是否使用了合适的图片尺寸,CSS sprites 和浏览器缓存等技术。
7. 全局都须要的信息保存在 application context 中。
编码习惯
1. 没有被使用的变量要删除。
2. 针对不一样的 Exception 要用不一样的 catch 语句,而不是一个 Exception 解决全部问题。
3. 针对变量,方法和类要用相同的命名方法。
4. 常量应该被写在独立的常量类中。
5. 每行代码的尾部不要有多余的空格。
6. 对于括号,循环,if语句等等要用统一的格式。
7. 每个单独的方法不该该超过100行。
8. 一个单独的语句不该该超过编辑器的可视区域,它能够被拆分红几行。
9. 检查 String 对象既不是null也不是空的最好方法是 if(“”.equals(str))
10. 假如类有不少成员变量,而且实例化的时候只须要少数变量传入的话,最好使用静态工厂方法,而不是重载构造函数。
11. 给方法添加适当的访问控制,而不是全部都是 public。
12. 遵照项目中使用的框架的最佳实践建议,例如 Spring,Struts,Hibernate,jQuery。
以上的某些注意点能够经过静态代码检查工具完成,例如 CheckStyle,FindBugs 和 JTest。
数据库