代码自我审查的一些常见注意点:
(0)自认为绝不会出错,并且从来没有审查过的代码。
(1)注意else语句,if条件下的子语句通常可能是个正常的流程,而else意味着异常的情况或者特殊的场景,你可能特别注意怎么处理正常的情况,却忽略了else子句的实现细节,如该释放的锁没释放,该递减的计数没有递减,该赋予特殊值却没有赋予等等。
(2)注意空的方法,没有方法体的方法,是不需要实现?还是忘了实现?
(3)注意switch语句,有没有忘了break?这种错误通过findbugs之类的静态代码检查工具都能避免。
(4)注意大块的注释,为什么这么多注释?是代码写的很糟糕?还是遗留的注释?遗留的注释会误导人,要及时删除。
(5)注意一些看起来“不合常理”的代码,这样的代码很多都是基于所谓性能考虑而优化过的代码,这样的优化是否还需要?是否能去除这些“奇怪”的代码也能实现正常的需求?
(6)对客户端的使用有假设的代码,假设用户只会这么用,假设用户只会用到返回对象中的某些属性,其他属性一定不会用到?不要对客户代码做假设!这个客户代码包括外部用户和调用这个模块的内部代码。
(7)标注了FIXME、TODO之类task标签的代码,是否忘了修复BUG,实现功能?
(8)任何超过15行以上的方法,这些方法是否能拆分成更细粒度的方法,并保持在同一个抽象层次上?
(9)任何在代码中出现的常量值,是否应该提取出来成为单独的常量,常量的默认值设置是否合理?
(10) 任何持有容器的代码,提供了放入容器的方法,是否提供了从容器中移除对象的方法?确保没有内存泄漏的隐患。
(11)重构中提到的其他坏味道,别放过它们,但是也不要追求完美,OO不是圣杯,如果能简单的实现一个算法,你不要引入3个对象和4个接口。
(12)在review最后能列出一张清单,开列下该项目面临的风险点,并提出解决办法,然后按照这张清单去review关键代码,着重检查异常情况下的处理。风险点的review,我建议可以放在后面,在一般性错误解决之后进行,此时你对代码也将再度变的熟悉。
- 浏览: 316933 次
- 性别:
- 来自: 北京
最新评论
-
sp42:
同感
Java/J2EE:这是一个概念横行满天飞的时代 -
Iwishyou:
所以新增ibatis这么流行. 做hibernate的团队应该 ...
最好的ORM应该这样 -
SpringJava:
...
程序员(码农)的转身之道之二:如何准备转型为项目经理 -
windshome:
谢谢大家的回复。这一篇故意这么写,也就是发一发牢骚。本来专业技 ...
项目团队的大问题:西游记团队中需要裁掉一人,如果是您,您会裁谁? -
kawin_zhao:
仔细看看,在困难面前唐僧,八戒,沙僧是不是都被困住!是不是?
项目团队的大问题:西游记团队中需要裁掉一人,如果是您,您会裁谁?
相关推荐
在使用TscanCode时,需要注意以下几点: 1. **配置规则**:根据项目的具体需求,可能需要对TscanCode进行相应的配置,定义检查规则,例如忽略某些特定的错误类型。 2. **定期更新**:保持工具的最新版本,以获取...
通过这种方式,整个流程实现了代码检查的自动化,提高了开发效率,确保了代码质量。 总结起来,SonarQube、Sonar-Scanner 和 Jenkins 的集成是实现代码质量管理自动化的重要手段,它们能帮助开发团队发现并解决潜在...
本知识点主要聚焦于如何在Gradle构建平台上集成Findbugs、Checkstyle、PMD这三种流行的静态代码检查工具。 **Gradle平台集成静态代码检查** **1. 静态代码检查工具简介** - **Findbugs**:这是一个分析Java字节码...
QAC代码检查方案可以明显地减少代码审查所需的时间,使程序员对他们未完全理解的C/C++/Java语言编程特点多加注意。通过在开发的最初阶段就注意避免编码问题,可以提高代码的质量,测试的周期也将会缩短。 QA C是QAC...
eladmin自动代码生成步骤以及注意事项 eladmin是一款基于SpringBoot的自动代码生成工具,旨在帮助开发者快速生成前端和后端代码,从而提高开发效率。...但是,需要注意一些重要的注意事项,以免出现错误。
FxCop的核心功能在于它能够检查代码中的潜在问题,包括但不限于命名规范、安全性、性能、本地化和设计原则等多方面。通过扫描程序集(编译后的.NET代码),FxCop可以提供详细的报告,指出可能存在的问题和改进建议。...
启动时间() UI层级() 重绘 内存占用 (或对比) 异步任务 (取消操作、回调状态检查)等等
根据提供的文档信息,我们可以归纳出一份详尽的关于代码缺陷检查表的知识点,特别是针对C/C++编程语言中常见的代码质量问题。以下是对标题、描述以及文档部分内提及的知识点进行的详细阐述: ### 代码缺陷检查表示...
对于使用Team Foundation Server (TFS)作为源代码管理工具的团队来说,遵循一些最佳实践至关重要。本文将深入探讨在使用TFS进行源代码管理时应注意的几个重要事项。 首先,"使用TFS进行源代码管理"意味着所有开发...
代码编辑、编译和审查环节,建议使用静态代码分析工具检查潜在问题,并通过代码审查机制来提升代码质量。 测试和维护阶段,规范可能包含对测试覆盖率、回归测试和持续集成的要求,确保代码的稳定性和可靠性。 宏的...
本文将深入探讨从标题和描述中提及的几个关键知识点,包括缺省的拷贝构造函数、缺省的赋值函数、派生类与基类的关系,以及C/C++代码缺陷检查的相关内容。 1. 缺省的拷贝构造函数和赋值函数: 当一个类没有自定义...
StyleCop是一款针对.NET Framework的代码检查工具,它主要用于帮助开发者遵循统一的编码规范,确保代码的可读性和可维护性。这个工具最初由微软开发,但现在已经成为开源项目,社区持续进行更新和维护。在本案例中,...
10. **过多的静态导入**:过多的静态导入可能导致代码可读性的降低,PMD会提醒开发者注意这一点。 使用PMD进行代码检测时,可以根据项目需求自定义规则集,或者选择预定义的规则集,如基本规则、设计规则、可维护性...
引导块初始化代码检查点是指在系统启动初期 BIOS 执行的一系列初始化操作中的检查点。这些检查点对于诊断早期硬件问题至关重要。例如,在 CPU 初始化、内存检测等关键步骤中,如果出现问题,可以通过检查点代码来...
嵌入式系统C代码走查检查单 嵌入式系统C代码走查检查单是指在编写和维护嵌入式系统C代码时,需要遵守的一系列规范和检查项。这些规范和检查项旨在确保代码的可读性、可维护性和可靠性,避免常见的错误和 Bug。 一...
以下是关于C#实现三子棋游戏的一些核心知识点和注意事项: 1. **基本概念**: - **C#基础**:C#是一种面向对象的编程语言,由微软开发,广泛用于开发Windows桌面应用、Web应用以及游戏开发。 - **游戏逻辑**:三...
代码走读是一种审查技术,通过检查代码的各个部分来发现潜在的问题。以下是对这些测试项的详细解释: 1. **J1 下标变量越界**:确保数组或集合的索引不会超出边界,防止引发ArrayIndexOutOfBoundsException。 2. *...