您是否检查了没有立即申请的新代码?

时间:2010-11-05 02:41:25

标签: version-control code-coverage

在解决更大问题的过程中,我编写了一个 new 类方法来计算该类对象的属性。我提到标准,我发现适当的内部库调用为我做了一些工作,我完全评论了它,并将它应用于各种样本对象以验证结果。

后来我意识到我可以用完全不同的方式解决这个更大的问题。我根本不需要调用我的新方法。该函数可能对解决未来的某些问题很有用,但如果我今天检查它,它将立即成为死代码。我该怎么办?检查一下?检查一下,但#ifdef'd out?检查并立即再次提交删除它?把它留在git-stash中?只是接受损失并继续前进?

3 个答案:

答案 0 :(得分:3)

如果这是您的个人开发者分支,请将其签入并标记。确保不将其合并到您正在处理的任何功能或版本分支中。我有一个文件夹,我有一个svn:ignore属性集,可以防止我意外地将这种东西添加回主分支。

答案 1 :(得分:2)

不要检查生产树中的死代码。如果您认为将来某天可能会使用该代码,请将其签入您的个人存储库。

产品树中的任何内容都有相关的成本 - 代码审查,测试覆盖率,设计文档,公共API描述,线程建模,维护等。为未使用的代码支付该费用意味着您可以减少用户实际功能的费用。

答案 2 :(得分:0)

这完全取决于您和(如果适用)贵公司的政策。

首先我会说这不是一种损失,你应该总是在某处保持交替解决方案,因为你有一天会想到“嘿,这看起来像以前的问题......大坝我是怎么做到的”,所以如果你有一个工作代码保留它。

然后我不建议将它留下#ifdef或将其留在工作代码中,因为当其他人读取使用你的代码时,它将使他们更难以遵循你的程序流程。 (在我的工作中,我们有一些项目是在桌面,DS,PSP等之间编译的,当你必须阅读多个#define的代码时很难:没有必要让它变得更难:P。

我在开始时提到的提交问题取决于您的情况。如果你独自一人参与这个项目,为什么不呢。如果还有其他人,那么问问自己这段代码是否对当时有用。

希望有所帮助

杰森