您如何定义“不需要的代码”?
恕我直言,任何拥有0个活动呼叫成员的代码成员(递归检查)都是不需要的代码。 (函数,方法,属性,变量是成员)
答案 0 :(得分:2)
以下是我对不需要的代码的定义:
您可以删除此类代码或对其进行重构,但您不希望将其保留原样。
答案 1 :(得分:1)
就像你在另一个帖子中说的那样,任何地方都没有使用的代码是非常不需要的。至于如何找到它我会建议使用FindBugs或CheckStyle,例如,因为这些工具会检查函数是否在任何地方使用,如果不是,则将其标记为未使用。非常适合摆脱不必要的重量。
答案 2 :(得分:1)
很快在考虑之后我想出了这三点:
我敢打赌,还有更多,但这就是我定义不需要的代码的方式。
答案 3 :(得分:1)
在java中,我用@Deprecated标记方法或类。
答案 4 :(得分:1)
任何 PRIVATE 代码成员,没有活动的调用成员(递归检查)。否则,您不知道您的代码是否未在范围分析中使用。
答案 5 :(得分:1)
0个有效通话,不可能在不久的将来使用。因为我使用SVN(源代码控制),所以我希望以后永远不会注释掉任何内容,因为我需要它。
答案 6 :(得分:0)
通常我告诉我的编译器尽可能烦恼,选择我需要检查的60%的东西。几个月未使用的功能(在使用VCS检查后)通常会被取消,除非他们的作者告诉我他们何时会被使用。缺少原型的东西也很快被怀疑。
我认为尝试实施自动化房屋清洁就像尝试制作USB设备一样,确保您“安全地”玩Russian Roulette。
最难检查的部分是添加到构建系统中的组件,很少有人注意到这些组件和未使用的kludges留下来收集苔藓。
除此之外,我通常想要代码,我只是希望它的作者稍微重构它,并使它们的风格与项目的其余部分相同。
另一个有用的工具是doxygen,它可以帮助您(直观地)查看源树中的关系。但是,如果它设置为不提取静态符号/对象,则它不会非常彻底。 / p>
答案 7 :(得分:0)
有些东西已经贴出来,但这是另一件事: 几乎做同样事情的功能。 (只有一个小的变量,因此整个函数被复制粘贴并且变量被更改)