`

代码审查最佳实践 for Java

    博客分类:
  • Java
阅读更多

代码审查可以帮助提高代码质量,避免由于代码习惯而造成的 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。

分享到:
评论

相关推荐

    java代码审查.pdf

    中的知识点之前,需要明确这两个字段提供的是文件名和文件内容的描述,它们分别指出了文档的主题是关于Java代码审查的PDF文档,以及文档内容涉及到了Java编程语言中的代码审查技巧、bug修复、代码风格、最佳实践等...

    java2python--java代码转python工具

    最后,虽然自动转换工具可以极大地减轻工作量,但完全依赖工具可能会忽视语言特定的最佳实践和优化。因此,熟悉两种语言的开发者应当手动审查和调整转换结果,以确保代码质量并充分利用Python的特性。

    VB代码转java代码,亲测可用

    在IT行业中,编程语言间的代码转换是一个常见的需求,特别...此外,理解两种语言的异同以及熟悉Java编程的最佳实践是至关重要的。在进行大型项目转换时,还应考虑测试策略,确保转换后的代码在目标环境中能够正常运行。

    Safe-Programming-for-JAVA.rar_java programming

    Java是一种广泛使用的面向对象的编程语言,以...以上所述只是"Safe Programming for JAVA.rar"可能涵盖的部分内容,实际的PDF文档可能会提供更详细的实例、最佳实践和技巧,帮助开发者编写出更安全、更高效的Java代码。

    java——1.rar_Java实习报告_java实习_java实习记录

    12. **软件工程实践**:了解敏捷开发、Scrum框架,以及需求分析、代码审查、持续集成等软件开发的最佳实践。 13. **项目经验**:在实际项目中,实习生将有机会运用所学知识,如开发一个简单的Web应用,使用Spring ...

    C_C_和Java安全编码实践提示与技巧,C_C_和Java安全编码实践提示与技巧

    - **遵循最佳实践**:了解并遵循安全编码的最佳实践指南,如OWASP Top Ten等。 - **持续教育**:软件安全是一个不断发展的领域,保持学习最新的威胁和技术至关重要。 总之,通过采用合适的编码实践和技术手段,可以...

    JavaCoding编码规范(写规范的代码,做规矩的程序员)

    - 使用Git进行版本控制,遵循提交和合并的最佳实践。 - 编写有意义的提交信息,保持代码历史清晰。 9. **持续集成/持续部署(CI/CD)** - 配置自动化构建工具,如Jenkins,实现自动测试和部署。 10. **代码审查**...

    Java解惑 清晰版带书签

    该书由《Effective Java》的作者所著,因此我们可以推断出这本书将包含许多实用的Java编程技巧、最佳实践以及对Java语言特性的深度解析。接下来我们将从几个方面对这本书可能涵盖的关键知识点进行概述。 ### 1. ...

    阿里巴巴JAVA开发手册2018最新版

    《阿里巴巴JAVA开发手册2018最新版》是阿里巴巴集团为Java开发者提供的一份详尽的编程规范和最佳实践指南。这份手册旨在提高代码质量、提升团队协作效率,并且注重软件工程的可持续发展。手册涵盖了从基本编码风格、...

    Java课程设计课件

    最后,Java课程设计还会涉及软件工程的最佳实践,如编写清晰的代码,遵循一定的编码规范,进行单元测试,以及如何编写文档和进行代码审查,这些都是成为一名优秀Java开发者不可或缺的技能。 通过深入学习和实践这些...

    Java程序设计课程的教学实践与探索.zip

    此外,结合在线资源和开源项目,可以让学生接触到最新的Java技术和最佳实践。例如,参与GitHub上的开源项目,阅读高质量的Java代码,有助于提升学生的编程素养。 总的来说,《Java程序设计课程的教学实践与探索》...

    alibaba p3c 阿里巴巴JAVA P3C eclipse 代码规约插件 离线安装下载

    - **最佳实践提示**:依据阿里巴巴的编码规约,给出优化代码结构和逻辑的建议。 2. **安装P3C插件** - **离线安装**:由于您提到的是离线安装,可以将`p3c`压缩包下载到本地,然后在Eclipse中通过“Help” -> ...

    Source Code Converters for CSharp VB C++ Java

    然而,需要注意的是,自动代码转换可能无法完美处理所有情况,因为每种语言都有其特定的语法和库,转换后的代码可能需要人工调整才能完全符合目标语言的规范和最佳实践。此外,转换过程中可能涉及到的版权和许可证...

    12个最重要的J2EE最佳实践

    在J2EE项目中,定期进行代码审查,消除代码冗余,优化设计模式,可以预防“技术债务”的积累,确保软件架构的长期稳定。重构应伴随着自动化测试,以确保改动不会引入新的错误。 #### 4. 异常处理与日志记录 强大的...

    JAVA开发规范,开发注意事项

    以上只是Java开发规范和注意事项的一部分,实际开发中还需要考虑更多的细节,如代码审查、日志记录、并发编程等。通过遵循这些规范,可以提升代码质量,降低维护成本,使得Java项目更加健壮和可持续。

    Java标准编码规范

    - 推荐规范:鼓励但非强制执行的规则,通常涉及最佳实践或特定场景下的优化。 - 专业规范:针对高级开发者或特定领域的规范,可能涉及到复杂的设计模式或性能调优。 3. **规范实施建议** - 使用IDE的自动格式化...

    java-learning & java-safety

    在这个压缩包中,"java-course-learning-java-master"可能是一个课程或教程的目录,它将引导我们探索Java的核心概念和最佳安全实践。 一、Java语言学习 1. **基础语法**:开始学习Java,首先要掌握基础语法,包括...

    代码编写规范(java、html、css、js).pdf

    在进行代码审查时,这些规范有助于提升代码质量,并确保每个开发人员提交的代码都遵循统一的编码标准。文档中也提到了一些最佳实践,如使用有意义的变量和函数名,避免冗余代码,以及保持代码尽可能简洁。 虽然文档...

Global site tag (gtag.js) - Google Analytics