拥有无用的代码是否可以接受?

maf*_*afu 8 coding-style

我看到一些程序员添加的代码毕竟没有做任何有用的事情.例如(C#):

[Serializable]
class Foo {
    // ...
    string SerializeMe() {
        return new XmlSerializer(typeof(this)).Serialize(this).ToString(); // serialize to xml (syntax wrong, not important here)
    }
}
Run Code Online (Sandbox Code Playgroud)

该类被标记为Serializable,但它被序列化的唯一方法是通过XmlSerialization,它根本不需要class属性.

我个人讨厌这种无用的代码,但我经常看到它,我很好奇其他人对它的看法.毕竟这不是一个严重的缺陷吗?这是行业中的常见做法吗?或者这只是简单的坏事,无论如何应该删除?

cjk*_*cjk 18

良好的源代码控制意味着应该删除不再需要的无用代码或代码.始终可以在以后从源控件中检索它.


Joh*_*lan 10

我的经验法则,

如果不使用它摆脱它.

所有剩余的评论,属性只是噪音,并帮助您的代码变得不可读.如果离开那里,他们会鼓励您的代码库中有更多剩余代码.所以删除它.


Ben*_*n S 5

我试着遵循YAGNI原则,所以这也困扰着我.


Alb*_*gni 4

是否需要花费很少的精力来阅读额外的(无用的,如您添加的)代码?

如果是(我认为是这样),那么它不应该出现在代码中。像这样的代码被额外的无用代码片段污染,它们存在“以防万一”。
这些东西的“后期重构”可能会很痛苦,6 到 12 个月后,谁会记得它是否真的被使用过?