我们写代码时常把主干写完,部分细节未来的及完成的,很多人都会习惯在相应位置加个TODO注释。
问题是这样很容易忘掉后续补上,很容易酿成潜在的BUG;查找维护也不是很方便。总之不太专业。
以前工作过某外企的编码规范里面有一个罕见规定,专门解决该问题;个人觉得是个很好的方案:
使用#pragma message指令把TODO信息标记上。
>>这样每次编译工程时,编译器的输出里都会把这些TODO信息打出来,让程序员每次编译后都会得到提醒那些待定项的存在,并评估是否需要在本次出版本前修复掉。
举例:
#define TODO( x ) message( x )
int main(int argc, char **argv)
{
//...
#pragma TODO(Remember to fix this)
//...
return 0;
}
【附】
一具体完备的例子:FIXME & TODO Notes As Warnings In Compiler Output
http://www.flipcode.com/archives/FIXME_TODO_Notes_As_Warnings_In_Compiler_Output.shtml
MSDN上关于#pragma指令的解释:Pragma Directives -- MSDN:
http://msdn.microsoft.com/en-us/library/d9x1s805(v=vs.71).aspx
GCC下的类似方案:Diagnostic Pragmas