我想知道人们最好的做法是删除未使用的代码.就个人而言,我喜欢删除(不只是评论)任何当前没有使用的东西.但我不确定要走多远.
以此为例(尽管我对一般性讨论感兴趣).在我的项目中,我有十几个UserControls.对于后来获得的功能,我在其中一个UserControl上实现了几个方法和属性.附加代码不是特定于该功能,但需要支持它.以后它可能会有用.
我应该删除代码,因为我们目前还没有使用它,代码越少,读取就越容易吗?问题是,未来的开发人员如何知道这项工作已经完成?
或者我应该把它保留在那里,所以如果他们以后需要使用它,另一个开发人员可以轻松找到它(他们不会考虑通过源代码控制来查看是否有人这样做并删除它)?
还是有其他选择吗?
这同样适用于当前未使用的UserControl.我应该删除它们还是保留它们?
编辑:不言而喻(或者我认为会这样)我们正在使用源代码控制.
首先要记住的是,所有代码都应该在源代码管理中.
考虑到这一点,您当然希望删除过时的代码而不是仅仅将其注释掉.任何长度的注释代码块都是危险的,至少有两个原因:
有一种倾向,认为评论是与其余代码保持一致的.这不是真的,可能会导致错误回归等问题.
在长块的中间很容易错过未注释的闭合花括号(例如).
如果您真的需要删除的代码仍然可用,但它不再混乱您的工作副本.如果您真的担心旧代码的可发现性,您可以留下一条注释,表明已删除代码以及您需要找到它的修订号.在一行中,这比实际代码块使用的要好得多,而且这个代码已被允许失效,以及它已经失效的时间更清楚了.
如果您使用的是源控制系统,则删除代码是我的首选选项.
在使用当前代码时,它不会妨碍您,如果您再次需要它,您将始终在存储库中拥有代码.
一段代码可以有两种状态.
它是活动的,运行的和测试的,在这种情况下它应该在源代码控制中
或者它已经过时,你无法想象任何人想要再使用它,仅仅因为它已经过时了.在这种情况下,应删除它.
不擦除代码以便"另一个开发人员可以轻松找到它"是保持代码处于活动状态并进行编译的完美理由.不要担心库的大小,链接器会删除任何未使用的库.
如果你正在擦除代码并想要警告其他人那里的代码,并且因为它被删除了,所以他们不会再犯同样的错误,那么就可以做出好的评论.