1.一个类尽量要小,这样产生冲突的概率小,最痛苦的事莫过于解决冲突,合代码
2.方法尽量小,理由同上一条
3.注释写的要清楚,尽管耗时一些,但是对于减少bug和后期维护有很多好处。多少年血和泪换来的经验。
4.命名统一,不管是变量还是注释,对于后续查找有益处
5.每一行代码都要当做艺术品来对待,要有工匠精神,持续不断的优化,持续不断的测试。
6.尽量花时间进行自动化测试,如果做不到,也要做到半自动化测试,可视化在某些方面可以等同于自动化,所以需要学好前端知识。
7.controller层代码尽量少,因为测试起来不方便,还容易出现并发问题。
8.参数尽量少,多的话用包装类。每个参数都要写注释。检查是否顺序错误,参数值传错。
9.检查integer与int之间传参数,integer为null传给int会报错。
10.防止并发的首要解决办法是不要产生并发。
11.integer的缓存问题。
12.容错能力,任何内存计算之外的逻辑都要考虑进来,比如与磁盘文件交互,与数据库交互,与MQ交互,与缓存交互,调用其他应用的服务,与分布式配置系统交互等
服务器崩溃,内存泄漏,内存不够,磁盘io升高等,日志打太多等。
13.只有20%的精力是在写正常流程的逻辑代码,其他80%花在异常情况逻辑处理。
14.上层业务不可能出现的业务逻辑也要考虑进去,这世间啥事都可能发生啊,一切皆有可能。
15.只相信数据库,别的都不信。其实数据库也应该不信的,但是没办法,没有什么系统值得比数据库更值得信任的了。
16.没有什么比设计数据库更重要的事情了,要慎之又慎,眼光放长远,否则几个月以后悔不当初。
17.要以写逻辑代码的心态对待日志,不然线上查问题哭都来不及
18.类的serealizedId,toString,spring注解,修改配置文件等等细节都要格外注意,查找这些bug非常痛苦