一、常见问题规避
1、Object的equals方法容易抛空指针异常,应使用常量或确定有值的对象来调用equals,建议使用以下方法:Objects.equals(a, b) 或者 ObjectUtil.equal(a, b)、ObjectUtil.notEqual(a, b);
2、集合初始化,预知大小时指定集合初始值大小。
1)、List评估大小:List<String> list = new ArrayList<>(2);
2)、Map评估大小:Map<String, Object> paramMap = MapUtil.newHashMap(2);
3)、避免字符+号拼接,使用StringBuider并评估大小,或者使用StrUtil.concat 或者 StringUtils.concat:
StringBuilder builder = new StringBuilder(30);
String log = StrUtil.concat(true, “a”, “b”, “c”);
3、空指针异常问题,不确定的对象,使用前判断是否为null;
4、数据类型转换异常,使用Convert工具类转换,避免异常;
5、避免出现超过80行的代码,注意方法拆分;
6、多使用工具类库,避免重复造轮子,如常见的 集合(CollUtil)、字符串(StrUtil)、类型转换(Convert)、时间日期(DateUtil)、数组(ArrayUtil)、反射(BeanUtil / ReflectUtil)、HTTP(HttpUtil / HttpRequest)、对象处理(ObjectUtil)、文件IO(FileUtil / IoUtil);更多的工具类介绍请参考Hutool官方文档:http://hutool.mydoc.io
二、阿里巴巴Java开发手册
链接:https://pan.baidu.com/s/1AXmlgbgiCLiiSWphvGHehQ
提取码:t1ka
复制这段内容后打开百度网盘手机App,操作更方便哦
三、注释及日志
1、方法都要添加请求及返回的注释,使用中文标识该参数的功能;
2、写日志时均使用占位符的方式,不允许用字符串+来输出日志,输出某个对象时不要显式调用toString方法;
3、设置逻辑更新时,建议使用info日志打出入参、出参;