工作也十多年了,烂代码见过不少,也写过不少(惭愧惭愧),那就盘点一下这些年我见过的烂代码。

编译不通过的代码就不在这里提了,只讨论一下可以运行的代码:

让别人看不懂的

  • 变量命名没有含义的:String a;int b;

  • 不写注释的

  • 改了代码不改注释的,比上一点更过分

  • 一个类/方法能写几千行的,跟踪代码那叫一个累

  • 使用版本控制工具,提交的时候乱写提交日志的

你见过什么烂代码

不考虑性能的

功能实现了不见得就是好代码,常见问题:

  • 最常见的问题:写sql的时候不考虑效率,测试环境一跑没有问题,上了生产,数据量一大就跑不出来结果了

  • 为了保险起见,做两次update的(见过么?看到那段代码的时候我都服了)

  • 还有莫名其妙sleep(3000),难道是为了下一次改成sleep(2000),就说自己优化程序了?

你见过什么烂代码

改动起来很费劲儿的

功能实现了,效率也没问题,也不见得是好代码:

  • 该抽象的不抽象出来,明明可以只改一行代码,但是需要改动很多地方

  • 代码分层不明确,或者明明是controller层非要写点儿业务逻辑

  • 过度耦合

改动起来无从下手的

  • 见没见过一种很神的代码:很重要,运行的很稳定,但是你看不懂,稍微改动一小处,整个代码就不能用了。

还有一种“烂代码”相信大多数人都写过,就是刚学到一个算法/设计模式/新技术什么的,非得想方设法写到代码里面,并没有考虑合适不合适。