还剩24页未读,继续阅读
本资源只提供10页预览,全部文档请下载后查看!喜欢就下载吧,查找使用更方便
文本内容:
总是否已经消除了所有警重要开辟工具的警告则/告?变量和常数变量是否声明为重要final语句对象使用前是否进行了检重要对象初始化为null的对象被调用前必须被重新赋值,成员变量,局部变量是否重要在使用前被赋值?如果赋值语句在try块中,调用操作必须在try块中查?局部对象变量使用后是否普通特殊是数组集合Map被复位为NULL对数组的访问是否是安全的(合法的index取值为重要[0,MAX_SIZE-l])o是否确认没有同名变量局重严禁局部变量名称和类或者对象成员要变部重复定义问题?量同名程序中是否只使用了简单的表达式?是否已经用()使操作符重要所有判断是否都使用了常量放在比较符前可以有效降低比较(常量二二变量或者常重要符写成赋值语句,量.equals(变量))的形式减少空指针异常优先级明确化?是否每一个if-elseif-else语句都有最后一个else重要以确保处理了全集是否每一个switch-case语重要句都有最后一个default以确保处理了全集?for循环是否都使用了包含下限不包含上限的形式普通(k=0;k〈MAX)XML标记书写是否完整,重要字符串的拼写是否正确?对于流操作代码的异常捕关闭前需要判断流对象是否为空重要获是否有finally操作以关闭流对象?提示退出代码段时是否对暂时对象做了释放处理对浮点数值的相等判断是重严禁使用=直接判断浮点数值提供通用方要否是恰当的?法对象(包括包装类)比较必须使用equals,是否对象比较都使用了重要而不是使用==或者!=操作equalsequals方法比较的对象在对象类型确定的前提下,使用equals进行比较时建议是同一类型的,例如Integer和””使用equals重要是否确保比较的两个对象类型一致?是不提倡的Session,Request等对象的setAttribute,getAttribute方法的key建议使用常量,操作Map或者Properties普通结构对象,用于传值时是不得手工输入字符串否将Key定义为常量?是否在类型转换前确保了重要除非明确保证对象类型类型的兼容?包装类进行操作前,建议进行非空包装类做简单预算前是否null!=xx判断,重要保证非空?建议都使用包装类防止发生空指针异常只读属性只提供get方法的成员变量对象属性在使用前是否确重要除非特意返回固定值,否则必须提供保被准确赋值?set方法或者在其他方法调用时将其赋值对参数的非空判断必须浮现在方法调用之前,方法调用前是否有非空判重要否则说明前面可能导致空指针或者后断?者判断是没有必要的,非空判断,默认由调用者提供重要非线程安全的对象是否被DateFormat实例的format方法调用正确保证线程安全不是线程安全,类似的情况不适合使用static定义,建议使用ThreadLocal方式实现,参看Unifi edCodeGenerator不同实体Entity V0BO之间表示建议使用相同的名称,尽量不要出相同用意的成员变量是否普通现,使用了相同的命名同一含义的成员变量,有的地方用user name,有的地方用userName这样的情况入口对象是否都被进行了重要判断不为空入口数据的合法范围是否重要都被进行了判断?是否对有异常抛出的方法重要都执行了try...catch保护?是否函数的所有分支都有重要返回值?int的返回值是否合理重要(负值为失败,非负值成功)对于反复进行了int返回普通值判断是否定义了函数来关键代码是否做了捕获异普通常处理?字典表定义是否用枚举,普通或者有一个统一的定义是否对方法返回值对象做重要了null检查,该返回值定义时是否被初始化?是否对同步对象的遍历访重要问做了代码同步?Map遍历时执行增减元素操作将抛出是否确认在对Map对象使ConcurrentModificationException重要用迭代遍历过程中没有做.增减亓素搦作?、.对集合对象遍历时建议都不要进行增减元素操作线程处理函数循环内部是重要否有异常捕获处理,防止线程抛出异常而退出?原子操作代码异常中断,重要使用的相关外部变量是否恢复先前状态?重要函数对错误的处理是恰当的出,异常捕获后是否进行了日重要志记录或者异常继续抛出如果可以处理,建议将异常日志进行异常捕获后如果无法处理需要继续抛是否构造方法中不调用当严禁在构造方法中new一个当前对象重要前对象的构造方法记录重要接常数用于计数起点的实现代码中是否消除了直简单常数例外是否消除了导致结构含糊重要的连续赋值如a=b=d+c是否正确使用了日志记重要录?“ifbreturntrue;elsereturnfals禁止使用类似“if/while(表达式是否有冗余判断语句二二true如:普通if breturntrue;elseree;“二二》returnb;;turnfalse;或者if/while(表达式二二false)”的判是否把方法中的重复代码抽象成私有函数?是否清除了多余导入的包普代通或者类?码警告代码审查报告公司XXXX严禁局部变量被定义或者初始化而未是否清除了只定义未使用被使用,重要的局部变量?这种情况需要删除该局部变量不允许直接使用除-2,是否将魔鬼数字修改为常普外的通用?1,0,1,2,3,4,5,6,7,8,9,10数字,除此外的数字需要定义常量使常量定义格式为public/protected//privatestaticf常量定义是否为inalstaticfinal格式提示TypeTYPE,static和final顺序要保持一致建议实现Serializable的类需要增实义现了序s列er化ia的lV对er象s是io否nU定ID加privatestaticfinallongserialVe提示rsionUID=IL;表达式复杂情况下不要使用是否用ifelse结构替换f lagexpl:exp2语该语句需句,要修改为普通了三元运算符ifelse结构代码注释率是否结余性普通代码注释率应落在30%飞0%之间30限60%之间?能用于记录日志的Log,Logger对象在类中日志记录的Log,Logger定义必须是staticfinal的,建议重要对象是否定义为常量?定义为private的,因为这种对象初始化比较耗时,不利系统运行代码中建议不要使用打印信息,打印信息是否都用日志管惟独在系统启动或者系统即将退出时使重要理?用,其余部份全部用日志记录圈复杂度单个类行数是否不大于重单个类建议行数小于500行,最多不超过要1000行500行方法参数个数是否在7个重方法参数个数建议不大于5个,最多要不超过7个以内?单个方法函数是否不大于重单个方法建议函数不大于30行,做要30行多不超过60行单方法中单方法中try/for/while/switch/iftry/for/while/switch/i最深深度不允许大于5f最深深度是否不大于5方法调用最深深度是否不方法内部+内部调用累计深度不允许重要大于15大于15SQL空格连接符or、in、and、以普通及=、〈=、>=等先后加之一个空格逗号之后必须接一个空普通格关键字、保留字和左括号普通之间必须有一个空格SQL注释对较为复杂的SQL语句加上注释,说明算法、功重要能注释风格注释单独成行、放在语句前面对重要的计算应说明其功重要SQL中尽量少涉及业务逻辑分匕可采用单行/多行注释普通(一或者/**/方式)SQL优化性能建议1书写SQL语句优化细则重要1)尽量避免相同语句由于书写格式的不同,而导致多次语法分析2)多表连接时,使用表的重要建议最多5个连接别名来引用列3)不要在任何代码中使用重要SELECT*o4)where条件中尽量减少重要使用常量比较,改用参数变量5)尽量少用嵌套查询如重要必须,请用notexist代替notin子句6)用多表连接代替EXISTS重要子句7)使用UNI0NALL提高性重要重攵8)in、or子句常会使用工作表,使索引失效;如果不产生大量重复值,可以考虑把子句拆开;拆开的子句中应该包含索引2排序注意事项1)大量的排序操作影响系统性能,所以尽量减少重要orderby和groupby排序操作如必须使用排序操作,请遵循如下规则a.排序尽量建立在有索引重要的列上b.如结果集不需惟一,使重要用unionall代替union3选用索引注意事项1)对于复合索引,SQL语重要句必须使用主索引列2)索引中,尽量避免使用重要NULLo3)对于索引的比较,尽量重要避免使用NOT=(!=)o4)查询列和排序列与索引重要列次序保持一致4其他经验性规则1)任何对列的操作都将导致表扫描,它包括数据库重要函数、计算表达式等等,查询时要尽可能将操作移至等号右边版本信息文档标识当前版本草稿当前状态发布日期发布修改历史变更控制日期作者修改内容评审号评审查员审对象项审查日期目名称分重要检查项备注类性成员变量,方法参数等需要使用首字母小写,命名规则是否与所采用的其余单词首字母大写的命名方式,重要挪范俣持一朝?禁止使用下划线_数字等方式命名不要浮现局部变量,成员变量大写字母开头等问题各种命名尽可能短,表意准确,除2是否遵循了最小长度最多代替普通信息原则?4代替for外,不建议使用数字在命名中成员变量,方法参数,局部变量等为布尔型时,has/can/is前缀的函数是重要否返回布尔型?如果浮现has/can/is开头,则将这些词去掉自己实现的类尽量不要和别人的类重名,重要类名是否存在重名问题?尽管不在同一个包下,特殊是子类和父类重名的情况注释方法JAVADOC注释中需要说明各参数、返回值重要注释是否较清晰且必要?及异常说明,参数说明需按照参数名称及用意对应标注复杂的分支流程是否已经重要释?普通距离较远的}是否已经被释文件,类(含接口,枚举等),成员函数是否已经有文档注释变量,重要(功能、输入、返回及其他可选)方法前需要有JAVADOC的注释普通特殊用法是否被注释每行是否只声明了一个变普通量(特殊是那些可能出错的类型)变量是否已经在定义的同重要时初始化类属性是否都执行了初始化重要代码段落是否被合适地以普通空行分隔?基本代码格式中的空格符不可缺少,是否合理地使用了空格使这些空格浮现在-普通程序更清晰?,*,/,=,二,,,=,二,!二,及各种括号附近代码行长度是否在要求之提示每行不得超过120个字符内?controller,此变量不能被修改如果要进行修service,dao中不要声明重要有状态的变量改’必须通过锁进行控制普通折行是否恰当定义集合时,建议定义其泛型类型,集合是否被定义为泛型类普通对浮现并符合规范型减少类型转换和警告错误if,else,是否给单个的循环、条件重要语句也加了{}代码块必须用包围elseif,while,for,case句/单个变量是否只做单个用普通途?台匕目匕布/包含复合语句的{}是否成普通单行是否惟独单个功能重要(不要使用;进行多行合并)单个函数是否执行了单个重要功能并与其命名相符?操作符++和一一操作符普通的应用是否符合规范单个函数不超过规定行重要数?缩进层数是否不超过规重要定?。
个人认证
优秀文档
获得点赞 0