代码规范从自我做起

[ 577 查看 / 0 回复 ]

各类命名(文件名、函数名、变量名等)、格式是否按编码规范进行?

主要函数是否填写注释?注释是否清楚,简洁,并与编码规范保持一致性。

每个函数的代码行数是否控制在50行以内?

源程序头部的文件说明和修改说明是否按照编码规范要求?

对于已发布的源代码的修改在修改处是否写了修改标识?

是否进行单元测试?

所有的功能需求与非功能需求是否都体现在了实现中?

在实现中是否增加了不必要的功能?

每个方法规模是否超过了项目组的约定行数?

类的访问权限是否合适?

是否使用了错误信息和返回码?它们是否有意义且精确?

是否覆盖了逻辑上的所有可能性?例如各种边界条件;

代码结构是否能为新功能扩展?(例如,是否对代码结构的扩展产生了不必要的限制?)

代码是否易于测试(例如,以最少的测试用例即可测试所有路径)?

代码是否易于调试?

是否在简明逻辑更好用的时候使用了复杂的或模糊的逻辑?

是否有效使用常量,而不是直接使用常量值?对于常量,是否定义了正确的常量值?

实现是否完整且正确?是否所有声明的变量和常量都被使用?是否存在不被执行的、冗余的代码?

同一数据(变量)是否包含多种含义?例如在某种情况下借用了某个字段用于其他目的;

是否指针参数被当作数值使用,或者反之亦然?

变量是否存在未初始化的情况?

是否有效的防止了变量的同名问题?对局部和全局作用域下的同名变量的使用是否正确?

是否充分共用机构、项目组提供的公用函数,而不是自己另行开发一套?

如果用到多线程或多进程,是否执行了下列判断:
是否防止了线程死循环、死锁;
多线程对共享资源的操作是否进行了同步(例如操作前先加锁,加锁范围是否适当)?

如果代码包含数据库代码,事务中表的更改顺序是否按照项目组规定的'SQL表更改顺序'进行,以避免数据库死锁?

是否有内存泄漏问题?对内存越界是否作了有效的防范和保护?

是否使用了未分配的内存空间的指针?分配的内存是否进行必要的初始化?
TOP