0

在某些项目中使用 IDE 的调试会变得很长,特别是在处理图形时,所以有时我使用调试代码,它会根据环境打印出值,有时在项目本身上,有时在控制台上。但是当项目完成后,很难找到调试代码并将其删除,当一个不需要的东西弹出时,它会显得很奇怪。我现在还是学生,现在学好,以后学,怎么管理?

我在搜索时找不到正确的答案,但我有一些想法:

  1. 测试模块后立即删除代码,因此找到的内容更少。它可以工作,但是当模块必须稍后(在更高级别)进行测试时,它必须再次添加,而不是删除的程度,但仍然如此。

  2. 将其包围if以确保它仅在debuggingflag 为 true 时运行,并将其保留在项目的最终版本中。

  3. 与项目一起计划调试代码,保持方法和类分开(如果可能)并删除调用和对象以及何时完成。

管理它的正确方法是什么?

4

2 回答 2

1

最简单的方法是使用debugging标志。

如果此标志是编译器常量(或以其他方式硬编码),如果您想要/不想要调试,则需要重新编译项目。

更好的方法是使标志使用配置文件/命令行参数中的值——这样您就可以控制调试而无需重新编译项目。

更好的方法是使用功能强大的日志库(如果有的话)并使用它的设施——优点是您可以更好地微调您想要记录的内容、位置和格式

于 2012-05-25T12:20:32.483 回答
0

最好的方法是调试代码中的变量

set isDebugEnabled=true // in case of development server
set isDebugEnabled=false // in case of production server

或者日志也可以在生产中进行管理以跟踪问题,但不能达到开发服务器所需的程度

var isDebugEnabled=ConfigurationManager.Appsettings["isDebugEnabled"].ToString();
if(Convert.ToBoolean(isDebugEnabled))
{
  Console.log("Log Message");
}

不要忘记检查 window.console 以防不支持 Console.Log 上面的语句会抛出异常,所以:

var isDebugEnabled=ConfigurationManager.Appsettings["isDebugEnabled"].ToString();
if(Convert.ToBoolean(isDebugEnabled) && window.Console)
{
  Console.log("Log Message");
}
else
{
  //Follow file logging mechanism.
}
于 2012-05-25T12:49:37.347 回答