您的位置 首页 java

java开发经理说在看到代码变量.equals(常量)保证打了他怀疑人生

程序员、软件开发、 码农 、计算机

段子吐槽

java 开发经理:谁代码写这样了变量.equals(常量)

保证打了他怀疑人生

程序汪:是我

开个玩笑,但低级问题导致的生产缺陷还真不少,目测会持续上演下图悲剧

经典低级问题

我来简单总结下

字符比较

变量.equals(常量) ,请不要这样写

如果requestStr 入参是null就直接空指指异常了

正确是用StringUtils工具类来比较

集合遍历

集合遍历前忘记判空

下面代码如果入参names是null情况,也悲剧了空指针

List<String> names= Lists.newArrayList(“程序汪”,”毛毛”,”莉莉”);

for(String n:names){

//TODO 业务逻辑

}

正确方式 用spring的集合工具判空在继续操作

if(!org.springframework.util.

CollectionUtils. isEmpty (names)){

System.out.println(StringUtils.join(names.toArray(),”,”));

}

空字符和null不敏感

很多业务空字符和null就是2种场景

码农有时记住防null但忘记了空字符情况

很贴心的工具类

org.apache.commons.lang.StringUtils

字符拼接

字符拼接忘记防null

关键这种null场景不会直接异常,前端页面就会出现null字符很奇怪,防空下就搞定

特别注意 mysql 数据库表字段设置为空时,

String requestStr=”程序汪”;

requestStr=null;

System.out.println(requestStr+”发工作啦”);

输出结果:null发工作啦

代码风险意识

  • 程序员写代码应该有防NPE(空指针缩写)的意识
  • NPE非空逻辑保护
  • 线下阶段主要集中注意力在有数据情况测试,没有试过没数据的场景,属于 功能测试 遗漏
  • CR时增加对list对象的判空逻辑敏感度

文章来源:智云一二三科技

文章标题:java开发经理说在看到代码变量.equals(常量)保证打了他怀疑人生

文章地址:https://www.zhihuclub.com/199355.shtml

关于作者: 智云科技

热门文章

网站地图