Open reuixiy opened 3 years ago
起点:先完成任务,优化以后再说,不管代码长啥样
恶化:代码越写越多,而后期代码可能依赖于此,再次妥协,以此重复……
结果:恶习不改,Bugs 不断,而垃圾代码交织不断,导致 Bugs 几乎越来越难以修复!
最终:整个代码仓库被污染,不得不大量 Revert、重写,甚至弃之。
教训:严格把控代码 Review 的质量,不通过无法 commit 进 develop。对一切危害代码仓库生命安全的垃圾代码,绝不心软手软,绝不仁慈!坚决 Reject!这是对代码仓库的生命负责,也是对新学习者负责!
(被问以下代码是否可行)
:可是可以……呃,我去你那看一下……
:呃(滚动鼠标),你这「相同的」代码重复了四遍(function1, function2, function3, function4)……就是,能不能把这四段写成一段……你看这四段之间的区别其实就是角色不同,所以你可以新增一个变量,将这个变量作为这个对象的键,也就是给 funciton 新增一个参数,然后——
:我知道,但它(指上面这段代码)能不能工作?
:能……
:那就行了,现在就是先完成这个任务(工单),优化以后再说。
:呃……也行……
(以下为自言自语)
:什么是简单和极简?A、B、C、D 四个角色,
function1()
、function2()
、function3()
、function4()
不就是最简单的吗?这样写最扁平,这样写最简明!以任务来说,这也是完成这个任务的最高效方式!不需要将一维的简单问题抽象复杂化为绕来绕去的打结问题!:Jeez…可你是人类,不是机器啊!DON'T REAPEAT YOURSELF!