代码效率和编码规范

一、代码效率方面

1、循环体中String对像使用“+”操作符的拼接现象需要规避,根据不同场景可以使用StringBuffer/StringBuilder/String.format()等;
2、HashMap循环时,如果需要使用key和value,要使用 entrySet()进行遍历;
3、Collection 循环遍历使用到Contains时,Set 的效率要高于List; 
4、Collection.isEmpty()效率高于 Collection.size()==0 ; 
5、try catch 块在for循环体内,效率低;
6、IO资源未释放,占用内存,效率低。

二、try-catch放在for循环内外的区别

  1. 异常处理后的循环行为

    • 外层try-catch(覆盖整个循环)‌:
      • 若循环内某次迭代抛出异常,‌循环会立即终止‌,后续迭代不再执行,异常被统一捕获处理。
      • 适用场景:需统一处理异常且允许循环中断的场景(如批量操作中任一失败即整体终止)。
    • 内层try-catch(每次迭代单独捕获)‌:
      • 即使某次迭代出现异常,‌循环仍会继续执行后续迭代‌,适合需要保障循环完整性的场景(如处理多个独立任务时部分失败不影响整体)。
  2. 性能差异

    • 外层try-catch‌:性能略优,因异常处理代码仅执行一次,减少重复开销。
    • 内层try-catch‌:每次迭代均涉及异常处理,可能增加性能损耗,尤其在循环次数极多时。
    • 若无异常触发,两者性能差异可忽略。
  3. 代码结构与可读性

    • 外层try-catch‌:代码更简洁,异常处理集中,但可能掩盖具体错误位置。
    • 内层try-catch‌:异常定位更精准(可记录具体迭代信息),但代码冗余性较高。

建议场景

  • 选择外层‌:当异常需统一处理,且单次失败可中断整个流程时(如事务性操作)。
  • 选择内层‌:当需保障循环完整性,或异常需针对性处理(如日志记录具体失败项)时。

三、编码规范方面:
1、无效的类引用、变量引用;
2、关键的逻辑注释不够清晰:
        1)新增方法在添加注释时,把方法的增加人、时间、实现的功能、参数的意义等关键信息进行说明;
        2)修改原有的代码逻辑时,也要明确人员、修改原因等关键信息,尽量注释原逻辑,再增加新逻辑。
3、代码结构及格式化,每个方法不要写的太长,保持方法的独立性、原子性,方便代码的复用及复杂逻辑调整;
4、方法中返回 null ,如果在引用的地方未做空值检查,将可能会出现空指针,尽量在返回时不要直接 “return null ”;
5、SQL语句尽量使用预编译的写法,避免SQL注入;
6、硬编码问题,密码、Ip地址等;
7、循环体内创建对象,效率低下。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值