【发布时间】:2011-03-07 16:15:26
【问题描述】:
我刚刚有了一个我希望能够使用的东西的想法:
假设我必须修复一个错误,并且我决定编写一个丑陋的代码行来修复当前的问题 - 但这只是因为我向自己保证我很快就会找到时间进行适当的重构。
我希望能够以某种方式将该代码行标记为“已过期”并添加一个日期 - 这样,如果在该日期之后的某个时间编译代码,则会出现编译错误/警告并显示正确的消息。
有什么建议吗?必须可以执行 - 也许使用一些复杂的#IF 或 Visual Studio 中的一些选项? 我正在使用 VS 2005 - 主要用于 C#。
谢谢!
[编辑]:哇——没想到这个问题会引起如此多的兴趣:) 谢谢大家的回答,感谢你们把这变成了一场有趣的辩论。 我知道很难证明使用这样的东西是合理的——我可能不会使用它——但有时,当你必须在昨天发布一个版本时,你发现自己在一个不完整的修复上妥协——你想强迫自己修复它在不久的将来。
我选择 MartinStettner 的建议作为答案,因为它满足了我的需求 - 运行时没有错误 - 仅在编译期间,无需仅为此目标定义新类型 - 而且它不限于整个方法的范围。干杯!
【问题讨论】:
-
我认为这是一个糟糕的主意。这与借钱买买不起的房子几乎是一样的概念。如果您现在没有时间正确编写代码,那么您,或者任何可怜的草皮在以后维护您的黑客,在未来的某个任意日期有什么机会?我讨厌它在太多层面上无法解释。
-
手榴弹 - 虽然我原则上完全同意(我一直在那里收拾残局),但我确实认为这是一个相当古怪的想法。
-
@jim 绝对是,我什至用条件属性自己尝试了一次失败的尝试。我喜欢你的例子顺便说一句。从有趣的编码问题的角度来看,这是一个有趣的问题。从 IDE 中的工具支持的角度来看,它鼓励新开发人员及早且经常陷入代码债务,这很糟糕!
-
手榴弹 - 是的,100% 的课程马...到期:)
-
@grenade - 喜欢! :) 我完全同意 - 但有时 - 只是有时......你真的需要它。
标签: c# visual-studio coding-style