整理优先:小改进,大回报,整洁代码设计指南
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

第2章 无用代码

删掉。就这样。如果代码不会被执行,就删掉。

删除无用代码(dead code)会让人感觉很奇怪。毕竟,有人花了时间和精力来编写它们,组织也为此付出了成本。如果它就在那里,只需再次调用就能让它发挥价值,但如果删掉它而又需要它了,就会因为删除它而后悔。

喜爱整理的读者们,这是我留给你们的一个练习,找出我刚才所说的所有认知偏差。

有时,无用代码很容易识别。而有时,如果大量使用了反射,它们识别起来就不那么容易了。如果怀疑代码没有被使用,可以通过记录其使用情况来预整理。将预整理的代码放到生产中,直到确信它们真的没有被调用。

你可能会问:“但如果以后真的需要它呢?”这就是版本控制的意义。我们并没有删除任何东西,只是现在不需要再看到它了。如果我们有很多代码但现在用不上,并且希望在未来使用它们而又不改变它们,那么我们就可以把它们找回来。或者可以再写一次,而且写得更好。

像往常一样,每次整理时只删除少量代码。这样,如果发现自己做错了,就可以比较轻松地恢复更改(参见第28章)。这里的“少量”度量的是认知,而不是代码行数。它可以是一个条件中的一条子句(比如,条件语句可以简化为true)、一个例程、一个文件、一个目录。