实现调试的一种正常过程是使用
#ifdef DEBUG
...debugging tests...
#endif
有时,代码的某些部分需要一种典型的“检查”算法,因此通常希望将其包装在一个函数上,以便仅在定义DEBUG标志时才调用该代码。让该函数称为myDebug();。
我看到了两种自然的方法:每次调用myDebug()时都添加ifdef,如下所示:
#ifdef DEBUG
myDebug();
#endif
或myDebug定义为:
void myDebug()
{
#ifdef DEBUG
...code...
#endif
}
基本上,第一个避免使用函数调用,而第二个避免使用大量#ifdef /#endif放置代码。
是否有任何“标准”约定可以选择两者中的一种,还是我不知道的另一种方式?是否值得从“样式”的 Angular 选择第二个?
谢谢
最佳答案
我会选择3:
#ifdef DEBUG
#define myDebug(x) myDebug(x)
#else
#define myDebug(x) {}
#endif
这样,代码中到处都不会出现讨厌的
#ifdef
,对于非调试版本,不会生成任何代码。