删代码的乐趣
我通常不喜欢那些人云亦云的帖子,但是Ned Batchelder的一篇题为“Deleting code”(删除代码)的博文却是个例外。我常常和其他一些开发者遇到类似的问题,并且为此烦躁不已,但我又不能说清楚所以然。好吧,现在我可以了:
如果你有一段不再需要的代码,请真正地删除它而不是把它闲置在那里,其主要原因是为了去除掉噪音和不确定性。开发者面对的众多最困难的事情之一就是代码里的噪音或者不确定性,因为这会影响到他们将来的工作效率。
无用的代码留在那里会造成不确定性,因为这会引发其他开发者的思考:
· 为什么这段代码以前是这样写的?
· 为什么这段新代码更好?
· 将来我们会重新使用老代码吗?
· 我们的评判标准是什么?
如果上述任何一个问题的答案必须要让别人知道,那就写一段注释来说说清楚吧。不要让你的同事猜来猜去!
我曾经不止一次地被指责说我删除了别人注释掉的代码。我说,如果你能给我一个不删除的理由,那我就不会再删了。否则,我认为这是很正常的事情。根据我的经验,如果你留着那些无用的代码,只是说“哦,我回头再来处理”,结果往往是那些代码被永远遗忘在程序中,却给今后的开发工作平添了无穷的干扰。
P.S. 推荐阅读:避免在代码里写注释