代码吐槽1

我发现离厕所远一点有一点好:在去厕所的路上经常会有idea出来,这篇文章就是其中之一。

言归正传,我对看到的别人的代码吐槽的想法由来已久。大部分时候,碍于情面不能直说。有时候委婉地说了,愿意听的当场改,大部分时候都我行我素。以至于我觉得写这些代码的时候是不是都是从北大青鸟出来的?

第一个:尤达表达式,null = someVariable(Java代码中)

我很敬佩从C/C++转到Java的人,但是我很看不起转过来了不学习相应语法的人。

第二个:collection.size() == 0

估计老师没教过collection.isEmpty()

第三个:StringUtils.equals(“foo”, someVariable)

公司规范的受害者,而且顽固不化。什么时候需要用工具类来比较,什么时候不需要分不清。

第四个:someMap.get(SomeConstains.ABC)出现多处

只有一处问题不大,多处不知道static import。

第五个

多余的null判断。

第六个

综合之前多个吐槽点的代码,Constants用静态导入,StringUtils建议也用静态导入,两次get明显可以抽取变量,你要知道这种代码充斥屏幕的感觉是多么的糟糕。
从另外一个角度,写这代码的人可能不知道StringUtils.trimToNull。

第七个

蛋疼地遍历集合匹配元素,一句话,doStuff().contains(“foo”)

第八个

老实说这不是初学者的专利,是习惯了过程式思维的人可能写出来的代码,明显可以抽取出一个方法。知道内联方法吗???

第九个

然后你就会看到两个一模一样的错误堆栈,是谁教的打日志后再抛异常的?也不看看顶层代码。

第十个

静态正则表达式需要提取出来,每次compile的代价很大。

以上就是突然奇想得到的10个吐槽,之后还有,敬请期待。