`

代码审查最佳实践

阅读更多

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

 

 

原文链接OSChina.NET 编译

分享到:
评论

相关推荐

    代码审查CodeReview的最佳实践

    我一直认为CodeReview(代码审查)是软件开发中的最佳实践之一,可以有效提高整体代码质量,及时发现代码中可能存在的问题。包括像Google、微软这些公司,CodeReview都是基本要求,代 我一直认为CodeReview(代码...

    火爆,Github标星240K的编程学习路线图,适合所有程序员!

    推荐一个涵盖开发、运维、产品设计的学习路线图,在Github已经start超过240K,包括各门编程语言! 该项目涵盖了非常全面的学习路线图: ...代码审查最佳实践 前端性能最佳实践 API 安全最佳实践 AWS 最佳实践

    presentation-CRADE:挑战代码审查最佳实践的研讨会 [SudWeb 2013]

    代码审查和开发环境这是在线编辑javascript代码的平台。 它可以处理多个项目并可以在线运行预定义的测试。为什么 ? 这是专门为研讨会制作的。

    静态测试方法之代码审查(CodeReview)的清单

    下面列出的这些要点因该可以作为大部分代码审查的指导,如果是Java应用的话,这些建议应该被视作最佳实践。  代码审查可以帮助提高代码质量,避免由于代码习惯而造成的bug。下面列出的这些要点因该可以作为大部分...

    code-review-best-practices:组装学校

    目录 代码审查最佳实践 :face_with_monocle: 在开始评估药丸和项目之前,必须先阅读这些最佳实践,以便您知道如何以最具建设性和专业性的方式提供反馈。 在此页面中,您将看到几种以最佳的方式进行代码审查的最佳...

    java基础i=笔试题-10-Steps-to-High-Quality-Java-Developer:成为高质量Java开发人员的关键

    代码审查最佳实践 构建工具 Maven Gradle 建筑学 构架 工具 进化 基本 你的语言 - Java 部署环境 领域 调试技巧 资源 4 简单设计原则 固体原则 设计模式 蚀 JUnit 持续集成 持续交付 代码审查最佳实践 Maven

    C++编程规范101条规则、准则与最佳实践PDF.rar

    第4条 做代码审查 9设计风格 11 第5条 一个实体应该只有一个紧凑的职责 12 第6条 正确、简单和清晰第一 13 第7条 编程中应知道何时和如何考虑可伸缩性 14 第8条 不要进行不成熟的优化 16 第9条 ...

    代码阅读方法与实践

    昨日开始,看《代码阅读方法与实践》,希望能够有所提高。 序言: 有一扇窗,从未打开,却要永远关闭; 有一些人,确实存在,我们却无缘相见; 有一种生活,还没有到来,我们却已永远离开。 学习编写伟大代码...

    CodeReviewBestPractices_JP_Translation

    代码审查最佳实践日语翻译 该存储库是 以下翻译成日语的帖子可在gh页上找到。此外,该人已经被联系并有权发布。 非常感谢,凯文·桑! 下面是翻译成日语的页面。 贡献 日语翻译出了点问题,更容易理解等。如果您有...

    最佳实践:Codeship Golang最佳实践

    这是为了在入职和代码审查过程中提高可读性,可维护性和效率。 本文档基于Go社区在过去几年中发表的许多文章和演讲并从中得到启发。 这些做法不是唯一的,。内容资源资源额外的东西我们对所有贡献在CI中运行...

    patterns:Best我们的最佳实践,无数代码审查的结果不断变化

    :open_book: 阅读并在欢迎! 这个小小的GitBook的目标是使您和我成为更好的软件开发人员。 它试图通过以模式的形式共享经验和知识,并鼓励您以便其他人可以向您学习,来做到这一点。 :vulcan_salute_medium-dark_...

    保护基于Web的应用程序:最佳实践指南-研究论文

    随着符合PCI 6.6要求的最后期限... 无论使用哪种工具,都应随附代码审查,适当的测试(包括模糊测试),遵循的代码标准以及适当的培训。 无论选择哪种工具配置,都必须应用手动代码审查,培训,编码标准和适当的测试。

    eng-practices:谷歌工程实践文档-https:jimmysong.ioeng-practices

    此文档为长期积累的最佳实践,是集体经验的结晶。我们可以将其地公之于众,您的组织和开源项目也会从中受益。 当前包含以下文档: Google代码审查指南,实则两套指南: 代码审查者指南 代码开发者指南 在线浏览: :...

    rails_best_practices-action:在Github操作中使用Rails最佳实践静态分析代码

    使用Rails最佳实践进行代码审查在Github操作中使用静态分析代码输入项files 更改Rails应用程序的路径options 更改rails_best_practices命令行选项。 以JSON数组格式指定选项。 例如: '["--vendor", "--spec"]'...

    7个jQuery最佳实践

    但是jQuery的大量应用却带来了另外一个问题:在使用JavaScript库的时候,有哪些最佳实践,又有哪些不好的实践呢? 背景 在这篇文章中,我会给大家介绍在编写、调试和审查JavaScript代码的时候一些好的实践(至少我...

    代码IDEA提交审查工具-alibaba规范检查

    规范性强:阿里巴巴Java开发手册是业内公认的Java编程规范标准,其中包含了大量的最佳实践和规范要求。Alibaba Java Coding Guidelines插件将这些规范直接集成到IDE中,提供给开发者使用,能够帮助开发者编写出符合...

    2024年最全Eclipse安装和配置环境教程.zip

    同时,还介绍了代码版本控制、代码审查和调试、单元测试等最佳实践和技巧。最后,强调了加入Eclipse社区和参与相关活动的重要性。 **适用人群:** 本教程适合所有对Java开发感兴趣的初学者和有一定编程基础的开发者...

    unit-testing-guidelines:单元测试最佳实践

    单元测试最佳实践以下是帮助实现有效且可维护的单元测试的一系列约定和最佳实践。 大部分内容直接取自优秀的《一书单元测试的 FIRST 属性在较高级别上,旨在为您的单元测试实现以下目标。 ˚FAST:更快的测试运行,...

    repostats:用于从GitHub存储库创建统计信息的工具

    统计数据此应用程序允许在... 必须了解组织如何进行代码审查,这非常重要-组织越大,团队之间形成不同行为的风险就越大,并且任何给定的人都很难看到最佳实践。 在我的雇主Alloy,我们非常关心代码审查-我们一直都这样

    devSpec:最佳实践开发规范和相关工具的集合

    devSpec |最佳实践开发规范和相关工具的集合。内容项目管理标准自动化集成标准代码格式检查标准高朗文件格式检查标准自动化测试标准测试流程标准测试计划标准测试文件标准单元测试标准高朗整合测试标准高朗端到端...

Global site tag (gtag.js) - Google Analytics