读书笔记
写在前面
这里接上一篇博客上篇博客,前几日又看了几页,这里总结一下。
代码规范篇
并发处理
- 1.【强制】获取单例对象需要保证线程安全,其中的方法也要保证线程安全。
- 2.【强制】创建线程或线程池时请指定有意义的线程名称,方便出错时回溯。
- 3.【强制】 线程资源必须通过线程池提供,不允许在应用中自行创建线程。
- 4.【强制】 SimpleDateFormat是线程不安全的类,一般不要定义为static变量,如果定义为static,必须加锁,或者使用DateUtils工具类。
- 5.【强制】 对多个资源、数据库表、对象同时加锁时,需要保持一致的加锁顺序,否则可能会造成死锁。
- 6.【推荐】 避免Random实例被多线程使用,虽然共享该实例是线程安全的,但会因竞争同一seed而导致性能下降。
- 7.【参考】 ThreadLocal对象使用static修饰,ThreadLocal无法将解决共享对象的更新问题。
控制语句
- 1.【强制】 在一个switch块内,每个case要么通过continue/break/return等来终止,要么注释说明程序将继续执行到哪一个case为止;在一个switch块内,都必须包含一个default语句并且放在最后,即使它什么代码也没有。
- 2.【强制】当switch括号内的变量类型为String并且此变量为外部参数时,必须先进行null判断。
- 3.【强制】 在if/else/while/for/do语句中必须使用大括号。
- 4.【强制】 在高并发场景中,避免使用“等于”判断作为中断或退出的条件。
- 5.【推荐】 当某个方法的代码行超过10行时,return/throw等中断逻辑的右大括号后加一个空行。
- 6.【推荐】 表达异常的分支时,少用if-else方式。
- 7.【推荐】 避免使用取反逻辑运算符
注释规范
- 1.【强制】 类、类属性、类方法的注释必须使用javadoc注释,使用/**内容*/格式,不得使用//xxx方式。
- 2.【强制】 所有的抽象方法(包括接口中的方法)必须要用javadoc注释、除了返回值、参数、异常说明外,还必须指出该方法做什么事情,实现什么功能。
- 3.【强制】 所有的类都必须添加创建者和创建日期。
- 4.【推荐】 代码修改的同时,注释也要进行对应的修改,尤其是参数、返回值、异常、核心逻辑等的修改。
其他
- 1.【强制】 在使用正则表达式的时,利用好其预编译功能,可以有效加快正则匹配速度。
- 2.【强制】 避免使用Apache BeanUtils进行属性的copy
- 3.【强制】 后台传输给页面的变量必须加$!{var}——中间的感叹号。
- 4.【推荐】 不要在视图模版中加入任何复杂的逻辑。
- 5.【推荐】 及时清理不再使用的代码段或配置信息
总结
到这里代码规范部分就看完了。剩下的部分待我对java了解更深刻后再来看吧。