程序员在战斗过程中应该注意点什么

前景:洪荒之后,历经亿万年的演变,猿类才进化成了人,但是才短短的半个世纪,新的一群灵长类诞生了,就像猩球崛起一样,这个群体正在改变着世界--程序猿。为了有更好的战斗素养,程序猿应该注意点什么呢?请接着往下看。

一、夯实的内功(即使没有张无忌的命也要有保尔柯察金的毅力)

1、数据结构与算法

2、设计思想

3、架构思想

4、打太极

二、缜密的心思

1、处理各种各样的 nullPointException 

①、他人的数据/接口,并不可信,使用之前先StringUtils.isNotBlank()一下,或者Collections.isEmpty()一下,或者 null != Obj一下,一定会避免很多坑。

②、关于String转json的时候,JSONObject或者JSONArray的转换方法可是会返回null的,不信你试试看,使用之前应该进行①的处理。

③、关于redis的list的处理,这个可是防不胜防,比如你查询一个有条件的列表要获取里边的符合ABC三个条件的数据,但是人家恰恰没有数据符合条件B,这个时候人家可是会返回这样一个结果:rA,null,rC。惊不惊喜意不意外,没有符合条件的不给我就是了,干嘛非得返回一个null呀,人家就是要占着茅坑不拉屎,可能是为了保持下标位置一一对应吧,也让你知道有哪些条件在redis中是没有符合的,所以呢,使用redis返回的list类型的数据之前需要做的操作就是移除null元素(如果有必要):dataList.removeAll(Collections.singleton(null))。

④、为了表示负责任,我们自己写的接口的返回结果都要避免null,这个可以使用JDK8里边的Optional解决:

Optional.ofNullable(omc).map(OMCChange::getGrouptype).orElse("create");//Optional.ofNullable() 完美的避免了空指针的问题

2、恰到好处的日志打印

①、为了更快的抓住坏人,在方法的入口和出口都要打印日志,最好是入参和出参都打印一下,不过出参有时候太长了可以只打印一个长度,不能一天光日志1、2个G。

②、为了找到某个人干的所有的坏事儿,在请求过来的时候给它一个threadID,这样既可以知道这个请求在你的系统里都干了什么事儿了。

3、是时候展现真正的技术了(注释)

①、方法以及复杂逻辑的注释,切记不要拷贝注释,否则你会发现,命名是个李鬼,你却标注一个李逵,坑。

②、魔法数字的注释,或者枚举类内容的注释

③、数据库表和字段的注释(这个一定要写,否则一大堆的C1.C2.C3...谁TMD知道是啥东西)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值