未使用的对象属性不好?

Unused object properties bad?

我有一个对象列表,其中包含一些不需要的属性。我总是包括那些我知道无论如何都不会使用的属性,因为 "maybe I need them later" 借口。如果这是不好的,是否有明确的答案?我想这是对性能的一点点浪费,但这真的重要吗?

视情况而定。

我经常发现,当我确定我需要它们以及我将如何使用它们时,以后添加属性同样容易。

根据您的 compiler/interpreter 对未使用的属性所做的操作,您可能会遇到(非常微不足道的)性能问题[citation for C#].

如果您只是拼凑一些代码,那么您可能不会伤害到任何东西。另一方面,如果您正在与团队一起工作,甚至在 public API 上工作,那么拥有未使用的变量可能非常有害。想象一下我有这样的界面:

interface IMyInterface {
  void DoStuff(); // implemented
  bool WarningAsError {get; set;} // just speculative - no implementation yet
}

使用此界面的任何人可能会假设他们可以设置 WarningAsError 标志,并且您的界面会将警告视为错误。这可能会浪费大量时间思考为什么不将警告视为错误。