删除代码

删除代码的方法其实很简单:选中代码,并按下 Delete 键。但是程序员似乎不太愿意这么简单直接。看了不少代码,发现残留了许多垃圾。在古老的时代,为了在改错了的情况下恢复回去,可以这么做,而在有了版本控制系统的情况下,这样注释掉代码将会引发混乱。

注释掉几行代码或者用 #if 0 将一段代码删除

// old_function();
new_function();

通常,我看到这样的代码,就不得不去思考为什么用新方法,老函数为什么不行。大部分情况下,根本获得不了什么有用的信息。就像欣赏一幅画,不需知道作品经历了哪些涂改一样。程序员应该展现出完美的代码,而要在代码上留下无用的补丁。希望了解代码演进史的时候,尽管去挖掘版本控制系统就行了。

未被调用的函数

在没有调用上下文的情况下,猜测函数的作用将更加困难。对不会被调用的函数,要分两种情况:如果一个函数已经被另外一个函数取代,就应该将旧函数删除;而如果一个函数是接口的一部分,则予以保留。

标记不确定的删除

有些时候,会不确定一段代码到底该不该删掉。只有在新的代码经过测试验证之后,才能确定。这个时候可以用特殊的注释将他们删除,比如使用 //- 标记每一行。

//- OldWayImUnsureOf(zooey);

 #if 0 //- I don't think I need this with the new FooBar
    OldWayStepOne(fooey);
    ...
    OldWayStepTwenty(hooey);
#endif 

安心删除代码

有时候删除大段代码看上去确实是很激进,但是不用担心,因为代码的删除,总是有原因的。毕竟,需要返回原来代码的机会是少之又少。比较一下需要恢复原来代码的可能性和永远面对丑陋注释的确定性。安心的删除吧,您不会再想念它。

原文:http://nedbatchelder.com/text/deleting-code.html