1、异常处理方式:
- 尽可能多使用非空判断:
- 避免if的多次、深层嵌套,可把异常过程放在if语句块后,而不是把正常过程放在if语句块后。即将if条件为真并执行修改为if条件为假返回或抛异常:
- 方法的成员变量是没有默认初值的,需要指定;类的成员变量是有默认初值的,可以不指定。但工作中,最好对类的成员变量指定初值,即使与默认值相同,也应该人为指定,养成良好习惯,便于维护人员理解
- 实例化对象:
- 方法的参数列表中,参数顺序应该遵从:传入/处理参数靠前,传出/生成参数靠后;先使用的参数靠前。
- 涉及磁盘和网络IO的操作,例如数据库存储、Restful接口调用等,要谨慎使用for循环一条一条去处理,这样耗时会很慢,正确的做法是进行聚合后在一次批量执行,例如数据库存储时,不要在for循环中逐条save(),而是for循环把结果加入一个List,直接批量对该List进行sava()操作。
对List进行批量save处理:
- 多线程的情况应该考虑使用线程安全的变量,例如使用ConcurrentHashMap代替HashMap。如果非要用到线程不安全的变量,例如int(该例子举得不好,int有线程安全的替代方案,即AtomicInteger),那么对于这个int变量的赋值取值,不要直接使用,而是写一个get、set方法,并对该方法加锁限制。
- 变量在使用的时候再去实例化,不要全部在方法顶部实例化出来,这样维护过程中阅读理解不方便,后面遇到这个变量,需要到方法前面去查找。