"There are only two hard things in Computer Science: cache invalidation and naming things."
在计算机领域只有两件艰难的事情:缓存失效和对象命名。
这还真不是一个笑话。写代码是比较容易的事情,但是阅读别人的代码,那就因人而异了。
好的工程师写出来的代码可读性很高,比如我上家公司的同事旭总。一般的工程师写出来的代码就像是一坨屎,比如之前某某几位同事。
所以我会经常去格式化他们的代码。如果不幸轮到你继续在屎代码上面开发,那就是屎上堆屎了。心疼你。
当然有时候工期紧张,我自己也会写一些屎代码shit code
,但是每次提交的时候都有一种强烈的愧疚感。希望这些代码最多存活一个月就消失,不要被人踩到了。
屎代码是怎么产生的?
要说怎么写屎代码,这个我就很拿手了。下面随便列举一些常见的屎代码产生方式:
- 看不懂的命名
- 过长的类|函数
- 大段重复的代码
- 没有注释的Magic number
- 100多个参数的函数
- 一堆没有注释的if-else嵌套
- 业务过度耦合:支付订单和点餐订单能耦合在一起?谁重构谁痛苦