在C#中我使用#warning和#error指令,
#warning This is dirty code...
#error Fix this before everything explodes!
Run Code Online (Sandbox Code Playgroud)
这样,编译器会让我知道我还有工作要做.您使用什么技术来标记代码,这样您就不会忘记它?
Ulf*_*ack 26
Todo评论也是如此.
我们还添加了一个特殊的关键字NOCHECKIN,我们在源代码控制系统中添加了一个commit-hook(很容易用至少cvs或svn),它扫描所有文件并拒绝签入文件,如果它找到NOCHECKIN的文字随处可见.
如果您只想测试一些内容并确保它不会被意外地检入(在提交源代码控制的所有内容的差异期间通过注意的眼睛),这非常有用.
Chr*_*ees 14
我使用//TODO: //HACK:和throw new NotImplementedException();我的方法的组合来表示未完成的工作.此外,我在Visual Studio中添加不完整的书签.
Eli*_*lie 10
// TODO:人的名字 - 请解决这个问题.
这是在Java中,您可以查看Eclipse中的任务,它将找到对此标记的所有引用,并可以按人员对它们进行分组,以便您可以将TODO分配给其他人,或者只查看您自己的TODO.
如果我必须在变更过程中丢弃所有内容,那么
#error finish this
Run Code Online (Sandbox Code Playgroud)
如果这是我以后应该做的事情,它会进入我的bug跟踪器(用于所有任务).
"待办事项"的评论在理论上是很好的,但在实践中并不是那么好,至少在我的经验中.如果你要被拉开足够长的时间来需要它们,那么它们往往会被遗忘.
我赞成Jon T的一般策略,但我通常只是暂时破解代码 - 我经常插入一个故意未定义的方法引用,让编译器提醒我需要回到的地方:
PutTheUpdateCodeHere();
Run Code Online (Sandbox Code Playgroud)
在禁用状态下添加测试.它们出现在所有构建报告中.
如果这不起作用,我提交一个错误.
特别是,我没有看到TODO评论的数量以任何有意义的方式减少.如果我在撰写评论时没有时间去做,我不知道为什么我以后会有时间.
小智 5
我真正喜欢的一种方法是"黑客爆炸",正如奥伦·艾尼在这里所展示的那样.
try
{
//do stuff
return true;
}
catch // no idea how to prevent an exception here at the moment, this make it work for now...
{
if (DateTime.Today > new DateTime(2007, 2, 7))
throw new InvalidOperationException("fix me already!! no catching exceptions like this!");
return false;
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
43618 次 |
| 最近记录: |