Review要求
1、 代码编写格式,需要统一风格,排版
a) 缩进为4个空格,不接受Tab缩进,仅限于java源码。较长的语句(>80字符)要
分成多行书写,长表达式要在低优先级操作符处划分新行,操作符放在新行之首,划分出的新行要进行适当的缩进,使排版整齐,语句可读。
b) 循环、判断等语句中若有较长的表达式或语句,则要进行适应的划分,长表达式要
在低优先级操作符处划分新行,操作符放在新行之首 c) 不允许把多个短语句写在一行中,即一行只写一条语句 2、 注释:一般情况下,源程序有效注释量必须在20%以上
a) 函数头部应进行注释,列出:函数的目的/功能、输入参数、输出参数、返回值、
调用关系(函数、表)等
b) 边写代码边注释,修改代码同时修改相应的注释,以保证注释与代码的一致性。不
再有用的注释要删除
c) 注释的内容要清楚、明了,含义准确,防止注释二义性 3、 函数、过程:
a) 对所调用函数的错误返回码要仔细、全面地处理
b) 明确函数功能,精确(而不是近似)地实现函数设计 4、 程序效率:
a) 程序中的算法尽量简单、直接,不要绕圈子 b) 循环体内工作量最小化
c) ACTION处理过程中发现的错误需要明确地告诉用户,提示信息尽量准确 d) 日志(LOG4J)要尽量详细,如果系统出错,能从日志读懂是哪里出了问题 e) 程序中不要直接在CONSOLE打印异常信息 f) 函数的参数尽量明确类型(尽量多的运用泛型)
g) 对于函数参数尽量不传request,request对象如果做参数则不要出Action类。
如Action类外的方法需要,则可以视情况不同采用下列方案替代:
? 用到request里的参数:直接将需要的参数取出传递;如果参数多则可以用
集合或实体类传递;
? 用到request承接方法产生结果:将方法产生结果以集合或实体类方式传出;
5、 数据库
a) 数据库查询语句不要有不明确的东西及废话 b) 对于一个页面需显示的内容,用尽量少的数据库操作,对于页面不需要的内容能不
取就不取,同时要保证配置文件中的查询条目不能泛滥,自己平衡这个要求 c) 对于有BLOB字段的表,如果显示不需要它,查询的时候就不要把它查出来 d) 尽量用子查询:
如where id in(1,2,3,4,5,??) 尽量写为 where id in (select id from t2 where ??) 可接受的:in内的数值是少数的、固定的。
不可接受的:in内的数据量是未知的、不固定的,或随别的数据增加而增加的。 e) 最好不要拼查询语句:
拼接查询语句指:一条查询语句多次使用“+”与常量或变量相连接的情况;
可接受的:因为一条查询语句太长而换行使用的“+”连接;
可优化的:拼接查询条件时,可以采用参数化语句,使语句固定,参数set进去; 不可接受的:一条语句的拼接要执行两个以上方法才能完成。
程序中针对数据的查询不能出现N+1查询(循环中查询数据库)
相关推荐: