这是一些写project不错的參考意见,总结分享下。
数据库方面的建议
1. 表设计须包括3个字段。一个主键id字段,一个建立索引的gmt_ctreate字段。一个能够对表更新并同一时候记录的gmt_modified字段
2. 字段非负,须使用无符号数unsigned
3. 禁用数据库保留字,比如desc,match等。原因是字段后期更名代价大
4. 不建议使用varchar字段建立索引,除非指定长度
5. in,like操作须避免。前者需评估in后的集合数量。建议控制10^3以内。like字段的效率集中是否进行全表扫描,前台禁用,模糊匹配尽量将肯定条件的正则确定。这样能降低不少数据扫描。
6. 数据库尽量避免null值
代码方面的建议
1. 接口。方法中不加public。尽量不放置变量
2. 方法命名採用驼峰式,变量命名要见名知意,常量变量大写
3. 常量的定义位置绝对最大的訪问区间。比如类中定义局限于本类使用,单独建立package。最多是本应用级訪问,多应用訪问建立在第三方ant应用,比如maven
4. 初始化变量尽量初始化经常使用值
5. toString方法,顺带打印父类的toString。假设异常信息须要打印。尽量打印出对应的參数名与值(称之为现场保护)+e.getMessage();
6. 类的行数控制在100行以内,方便測试与易读性。
7. 方法返回尽量返回基本数据类型,这样避免了堆实例化的开销。
8. Foreach即,增强的for循环,集合类尽量不进行remove操作,能够使用迭代器Iterator方式
9. 对方法中传入的參数校验须要提前评估该方法调用的频率,频率较高。请将參数检查放置方法调用之前。当然须要在编写该方法的时候给于參数检測凝视以提示调用者。
Ps:Dao层对数据库进行持久化操作的方法不须要进行检測,调用较为频繁。检查一般放在service层。
当然对于安全性,可用性,RPC调用较高的方法中须要检查。
配置方面的建议
1. 眼下java框架技术日益鹏飞,后来者维护原来项目比較多见,起初的配置应当考虑到未来的问题。比如,Service,Dao,sql.xml的名称(变量=属性。方法名=数据库操作名)尽量保持一致。
2. 依赖的jar包配置遵循FIFO原则,来加入者应当在末尾加入。Maven等工具是从上到下进行xml配置分析的