`
gpqhl0071
  • 浏览: 54720 次
  • 性别: Icon_minigender_1
社区版块
存档分类
最新评论

代码审核最佳实践

 
阅读更多
代码审查可以帮助提高代码质量,避免由于代码习惯而造成的 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。
文章来源:http://blog.csdn.net/m13666368773/article/details/7846094
分享到:
评论

相关推荐

    Google的代码审核指南.pdf

    2. **代码审核过程中要看什么**:审查者应检查代码逻辑是否清晰,接口设计是否合理,是否遵循最佳实践,是否有可能引入新的bug,以及是否符合项目的技术债务策略。 3. **代码审核的步骤**:包括初步审查、与作者...

    SQL审核服务最佳实践介绍.pptx

    本最佳实践主要围绕SQL审核服务的行业应用、技术挑战、解决方案以及实际操作中的经验分享展开。 首先,SQL审核服务的目标在于早期发现并解决潜在的性能问题,如在Oracle数据库中,当等待事件"cursor: pin S wait on...

    高级PHP代码审核技术

    7. **最佳实践** - 版本控制:推荐使用Git进行版本管理,便于团队协作和代码回溯。 - 错误日志:配置合适的错误日志记录,便于排查问题。 - 安全更新:定期更新PHP版本和相关库,修复已知安全漏洞。 通过学习...

    软件测试模板_代码审核报告

    在软件开发过程中,代码审核是确保代码质量和遵循最佳实践的关键环节。通过代码审核报告,可以系统地检查代码的各个层面,以找出潜在的问题并提出改进措施。以下是对这份"软件测试模板_代码审核报告"中涉及的知识点...

    代码审核规范版本1.0

    2. **知识共享与传播**:尤其对于新手开发人员来说,Code Review是一个宝贵的学习机会,能够帮助他们快速掌握团队内部的最佳实践和技术细节。 3. **减少常见错误**:避免开发人员重复同样的错误,提高整体的代码质量...

    WebSphere Message Broker 开发和部署最佳实践

    WebSphere Message Broker 开发和部署最佳实践 WebSphere Message Broker 是一个企业服务总线(ESB),提供了用于各种协议的通用连接以及为使用结构化和非结构化数据的应用程序提供数据转换功能。为了提高消息处理...

    golang工程最佳实践

    - 定期进行代码审核,提升代码质量。 11. **项目部署**: - 制定标准化的部署流程,确保部署的一致性和可重复性。 - 使用 Docker 和 Kubernetes 进行容器化和集群管理。 12. **研发流程**: - 设计并执行敏捷...

    Google工程实践文档.pdf

    随着开发项目的增多,我们不断总结经验,把这些最佳实践以文档的形式整理出来。 这份文档是我们集体经验的结晶。除了我们之外,相信其他公司、组织或开源项目也能从中 受益,现在时机成熟了,我们决定将其公开...

    perl最佳实践

    8. **代码审核**:定期的代码审核有助于发现潜在问题和提高代码质量。书中可能会介绍如何进行有效的代码审查,以及如何使用Perl的代码审计工具,如Perl::Critic和Devel::Cover。 9. **模块管理**:CPAN...

    AWS容器集群部署最佳实践.pptx

    AWS容器集群部署最佳实践主要涉及了使用AWS服务来管理和运行容器化应用程序的策略和技术。以下是对这些关键知识点的详细说明: 1. **AWS ECS(Amazon Elastic Container Service)**:ECS是一个高度可扩展且高性能...

    审核代码

    代码审核,又称代码审查或同行评审,是指由程序员或其他团队成员对已完成的代码进行检查,以查找并修复错误,确保代码符合项目标准和最佳实践。通过代码审核,可以增强团队间的合作,提高代码的可读性和可维护性,...

    金融和政务数据安全治理最佳实践.pdf

    金融和政务数据安全治理最佳实践 本资源摘要信息汇总了金融和政务数据安全治理最佳实践的主要知识点,涵盖数据安全法总体架构、数据安全制度、数据安全保护义务、数据分类分级保护制度、风险评估、风险报告、信息...

    国际P&C公司最佳实践IT应用架构图

    《国际P&C公司最佳实践IT应用架构图》深入解析 在当今信息科技高速发展的时代,国际财产与责任保险公司(P&C,Property & Casualty)利用先进的IT应用架构来提升业务效率、优化运营流程以及增强风险管控能力,已经...

    代码安全审计及相关服务内容概述

    \5765617_20170425102412196.pdf 可能是一份详细的代码安全审计报告或教程,包含了具体的审计方法、案例分析和最佳实践。 \no.txt 文件可能是审计过程中记录的临时文件或不相关的文本信息,具体内容需查看后才能...

    php-java+代码审计+代码审计软件seay+程序员+挖洞+代码审计漏洞查找+生成代码审计报告

    "代码审计资料整理"可能包含各种教程、最佳实践和案例研究,这些资料可以帮助开发者系统地学习代码审计的方法,提高审计技能,并从中汲取经验教训,避免在实际开发中重蹈覆辙。 **生成代码审计报告** 审计过程的...

    团队开发中 Git 最佳实践,不给队友拖后腿.docx

    - 在团队中,建议结合 SourceTree 进行分支管理和 GitLab 进行代码审核和远程分支操作。 5. **事前配置**: - 在 SourceTree 中,可以配置默认使用 `rebase` 而非 `merge`,并禁用快进合并。 - GitLab 可用于...

    WEB服务器安全管理——最佳实践.PPT

    本讲座将聚焦于IIS 6.0 Web服务器的安全管理,分享最佳实践,以帮助管理员提升服务器防护能力。 首先,掌握Windows 2000/Windows Server 2003操作系统的基本操作是基础,因为IIS 6.0是构建在这两个系统之上的。理解...

    Java源代码审查规范

    - 遵守安全最佳实践,如输入验证、防止SQL注入等。 #### 六、自动代码检查和修正 **1. 编码一致性:** - 统一编码方式为 UTF-8,确保文本内容正确显示。 **2. 代码模板:** - 使用统一的代码模板,简化重复代码的...

    asp代码sql注入审核工具

    5. **最佳实践**:了解如何遵循安全编码原则,比如使用ORM(对象关系映射)框架,限制数据库用户的权限,以及进行输入验证和输出编码。 6. **使用教程**:按照**★如何观看教程.reg**中的步骤学习如何运行和解读...

    Google工程实践文档,基于英文版的最新内容,更新中文版 更新时间 2024.04.26

    - **公开意义**:通过分享这些最佳实践,Google希望促进技术社区的进步和发展。 #### 二、Google代码审核指南 - **定义与重要性**: - **代码审核**:指开发者完成编码后,由他人对代码进行检查的过程。这一过程...

Global site tag (gtag.js) - Google Analytics