精选优质文档-----倾情为你奉上
精选优质文档-----倾情为你奉上
专心---专注---专业
专心---专注---专业
精选优质文档-----倾情为你奉上
专心---专注---专业
代码审查报告
单个函数是否执行了单个功能并与其命名相符?
一般
操作符++和— —操作符的应用是否符合规范?
规模
重要
单个函数不超过规定行数?
重要
缩进层数是否不超过规定?
可靠性(总则/变量和语句)
重要
是否已经消除了所有警告?
开发工具的警告
重要
常数变量是否声明为final?
重要
对象使用前是否进行了检查?
重要
成员变量,局部变量是否在使用前被赋值?
对象初始化为null的对象被调用前必须被重新赋值,
如果赋值语句在try块中,调用操作必须在try块中
精选优质文档-----倾情为你奉上
精选优质文档-----倾情为你奉上
专心---专注---专业
专心---专注---专业
精选优质文档-----倾情为你奉上
专心---专注---专业
一般
局部对象变量使用后是否被复位为NULL?
特别是 数组 集合 Map
重要
对数组的访问是否是安全的?(合法的index取值为[0, MAX_SIZE-1])。
重要
是否确认没有同名变量局部重复定义问题?
严禁局部变量名称和类或对象成员变量同名
一般
程序中是否只使用了简单的表达式?
重要
是否已经用()使操作符优先级明确化?
重要
所有判断是否都使用了(常量==变量 或者 (变量))的形式?
常量放在比较符前可以有效降低比较符写成赋值语句 ,
减少空指针异常
重要
是否每个if-else if-else语句都有最后一个else以确保处理了全集?
重要
是否每个switch-case语句都有最后一个default以确保处理了全集?
一般
for循环是否都使用了包含下限不包含上限的形式?(k=0; k<MAX)
重要
XML标记书写是否完整,字符串的拼写是否正确?
重要
对于流操作代码的异常捕获是否有finally操作以关闭流对象?
关闭前需要判断 流对象是否为空
提示
退出代码段时是否对临时对象做了释放处理?
重要
对浮点数值的相等判断是否是恰当的?
严禁使用==直接判断浮点数值 。提供通用方法
重要
是否对象比较都使用了equals?
对象(包括包装类)比较必须使用equals,
而不是使用==或!=操作
重要
使用equals进行比较时是否确保比较的两个对象类型一致?
equals方法比较的对象在对象类型确定的前提下,
建议是同一类型的,例如Integer和""使用equals
是不提倡的
精选优质文档-----倾情为你奉上
精选优质文档-----倾情为你奉上
专心---专注---专业
专心---专注---专业
精选优质文档-----倾情为你奉上
专心---专注---专业
一般
操作Map或Properties结构对象,用于传值时是否将Key定义为常量?
Session,Request等对象的setAttribute,
getAttribute方法的key建议使用常量,
不得手工输入字符串
重要
是否在类型转换前确保了类型的兼容?
除非明确保证对象类型
重要
包装类做简单预算前是否保证非空? 建议都使用包装类。
包装类进行操作前,建议进行非空(null != xx)判断,
防止发生空指针异常
重要
对象属性在使用前是否确保被准确赋值?
只读属性(只提供get方法的成员变量)
除非特意返回固定值,否则必须提供set方法
或在其他方法调用时将其赋值
重要
方法调用前是否有非空判断?
对参数的非空判断必须出现在方法调用之前,
否则说明前面可能导致空指针或者后者判断是没有必要的,
非空判断,默认由调用者提供
重要
非线程安全的对象是否被正确保证线程安全?
DateFormat实例的format方法调用不是线程安全,
类似的情况不适合使用static定义
,建议使用ThreadLocal方式实现,
参看UnifiedCodeGenerator
一般
相同用意的成员变量是否使用了相同的命名?
不同实体Entity、VO、BO之间表示同一含义的成
代码审计报告(共11页) 来自淘豆网m.daumloan.com转载请标明出处.