死代码就是没用的、但却留在程序库中的代码。这样的代码没有任何其它程序会调用它,没有任何函数、对象引用它。它就在程序中,但程序的运行状态跟它一点关系都没有。
为什么程序中会有死代码?有可能是程序库升级,老的接口不再使用。有可能是需求调整,但跟过时的需求相关的代码没有被删除。有可能是拷贝粘贴的过程中,有些没有用的函数也粘贴了过来。有可能是重构的过程中,把老代码保留下来备份用。等等…..
死代码是应该删除的代码。没有用的代码也就是没有人维护的代码。***将变成没有人知道它是有什么用处的代码。后来的人也开始不敢删除这样的代码,怕万一什么地方需要用到它。于是这样的死代码积累的越来越多。技术债务越来越重。健康的项目慢慢腐烂变质。最终没有人能维护。
死代码应该及时大胆清除。很多程序员会担心,万一这段代码还有用呢?没错。因为你不熟悉这些代码,很多人修改过这些代码,没准什么地方还在用这段代码。但是,我们有代码保护工具:代码版本控制系统——git,svn等。即使是误删了代码,也能从历史记录里恢复。
最重要的,我们还有自动化测试。自动化测试是保证程序正确的最可靠的保证。无论做什么修改,添加功能,删除功能,最终都要运行自动化测试,让所有的测试点都绿灯通过。如果你还在担心害怕删除死代码,很可能是因为你的项目没有自动化测试。
死代码,如果你不删,它会很痛苦,因为无人问津它,无人调用它。它如同活死人,僵尸。下面这段视频就是一位网友很形象的唱出了死代码们的心声: