如何使调试代码不再生产?

Tho*_*ton 28 javascript php debugging vbscript

它发生在我们最好的人身上.

替代文字

特别是在处理没有内置调试功能(如断点和监视变量)的语言时,这些错误会让开发人员感到厌烦.调试代码,警报和Response.Writes,显示在生产代码中.

如何将调试问题与javascript,php或vbscript中的功能代码分开?您如何确保那些调试更改永远不会进入生产环境?

Kin*_*nch 13

最简单的方法

define("DEBUG", true);


if (DEBUG) {
    echo "Debug Method";
}
Run Code Online (Sandbox Code Playgroud)

对于js来说它是相似的.

  • +1我喜欢这个答案.有一种观点认为调试代码不应该存在于生产代码中,而不是永远不会在生产环境中运行. (3认同)
  • 这是一个**不好的**做法。请参阅 http://php.net/manual/en/language.constants.php#52008 以获得一个很好的示例。 (2认同)

小智 2

它可能并不完美,但我的编辑器中有一个宏,它允许我添加调试并将其包装在适当的标记注释中。我还有一个稍后运行的脚本,可以将这些内容删除。诚然,我花了一段时间才真正信任这种机制,但随着时间的推移,我已经习惯了它。

我的偏好是避免检查调试代码。显然,与任何其他“规则”一样,也有例外,但因为以后很容易错过一些事情,所以我不喜欢检查它。