代码审计报告3

代码审计报告3

ID:40158864

大小:41.91 KB

页数:11页

时间:2019-07-23

代码审计报告3_第1页
代码审计报告3_第2页
代码审计报告3_第3页
代码审计报告3_第4页
代码审计报告3_第5页
资源描述:

《代码审计报告3》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、代码审查报告xxxx公司版本信息文档标识:当前版本:当前状态:草稿发布日期:发布修改历史日期版本作者修改内容评审号变更控制号评审对象审查员项目名称审查日期分类重要性检查项备注命名    重要命名规则是否与所采用的规范保持一致?成员变量,方法参数等需要使用首字母小写,其余单词首字母大写的命名方式,禁止使用下划线(_)数字等方式命名不要出现局部变量,成员变量大写字母开头等问题 一般是否遵循了最小长度最多信息原则?各种命名尽可能短,表意准确,除2代替‘to’,4代替‘for’外,不建议使用数字在命名中 重要has/can/is前缀的函数是否返回布尔型?成员变量,方法参数,局

2、部变量等为布尔型时,如果出现has/can/is开头,则将这些词去掉 重要类名是否存在重名问题?自己实现的类尽量不要和别人的类重名,尽管不在同一个包下,特别是子类和父类重名的情况注释    重要注释是否较清晰且必要?方法JAVADOC注释中需要说明各参数、返回值及异常说明,参数说明需按照参数名称及用意对应标注 重要复杂的分支流程是否已经被注释?  一般距离较远的}是否已经被注释?  重要函数是否已经有文档注释?(功能、输入、返回及其他可选)文件,类(含接口,枚举等),成员变量,方法前需要有JAVADOC的注释 一般特殊用法是否被注释? 声明、空白、缩进    一般每行

3、是否只声明了一个变量?(特别是那些可能出错的类型)  重要变量是否已经在定义的同时初始化?  重要类属性是否都执行了初始化?  一般代码段落是否被合适地以空行分隔?  一般是否合理地使用了空格使程序更清晰?基本代码格式中的空格符不可缺少,这些空格出现在?,:,+,-,*,/,=,==,>,<,>=,<=,!=,及各种括号附近 提示代码行长度是否在要求之内?每行不得超过120个字符 重要controller,service, dao 中不要声明有状态的变量。此变量不能被修改。如果要进行修改,必须通过锁进行控制。 一般折行是否恰当?  一般集合是否被定义为泛型类型?定义集

4、合时,建议定义其泛型类型,减少类型转换和警告错误语句/功能分布/规模    一般包含复合语句的{}是否成对出现并符合规范?  重要是否给单个的循环、条件语句也加了{}?if,else,else if,while,for,case等代码块必须用{}包围 一般单个变量是否只做单个用途?  重要单行是否只有单个功能?(不要使用;进行多行合并)  重要单个函数是否执行了单个功能并与其命名相符?  一般操作符++和— —操作符的应用是否符合规范? 规模    重要单个函数不超过规定行数?  重要缩进层数是否不超过规定?    可靠性(总则/变量和语句) 重要是否已经消除了所有警

5、告?开发工具的警告 重要常数变量是否声明为final?  重要对象使用前是否进行了检查?  重要成员变量,局部变量是否在使用前被赋值?对象初始化为null的对象被调用前必须被重新赋值,如果赋值语句在try块中,调用操作必须在try块中 一般局部对象变量使用后是否被复位为NULL?特别是 数组 集合 Map 重要对数组的访问是否是安全的?(合法的index取值为[0, MAX_SIZE-1])。  重要是否确认没有同名变量局部重复定义问题?严禁局部变量名称和类或对象成员变量同名 一般程序中是否只使用了简单的表达式?  重要是否已经用()使操作符优先级明确化?  重要所有

6、判断是否都使用了(常量==变量 或者 常量.equals(变量))的形式?常量放在比较符前可以有效降低比较符写成赋值语句 ,减少空指针异常 重要是否每个if-else if-else语句都有最后一个else以确保处理了全集?  重要是否每个switch-case语句都有最后一个default以确保处理了全集?  一般for循环是否都使用了包含下限不包含上限的形式?(k=0; k

7、对象做了释放处理?  重要对浮点数值的相等判断是否是恰当的?严禁使用==直接判断浮点数值 。提供通用方法 重要是否对象比较都使用了equals?对象(包括包装类)比较必须使用equals,而不是使用==或!=操作 重要使用equals进行比较时是否确保比较的两个对象类型一致?equals方法比较的对象在对象类型确定的前提下,建议是同一类型的,例如Integer和""使用equals是不提倡的 一般操作Map或Properties结构对象,用于传值时是否将Key定义为常量?Session,Request等对象的setAttribute,getAttri

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。