我在这里寻找一些最佳实践建议。我有一个库,我想向(想想System.out.println)添加一些调试代码,该调试代码仅在配置文件中设置了标志时才执行。

这相当琐碎,并且在我进行过程中将具有所需的输出以帮助调试程序。话虽这么说,但我的生产代码中有很多if(DEBUG)语句,这似乎很繁琐。我不太担心代码的效率,而更担心在实际执行的语句和仅用于调试的语句方面的可读性。

我了解在大多数IDE中,我可以简单地逐步执行代码以有效地为自己提供更多手动调试选项,但是我发现,对于任何足以进行迭代的代码库,该方法都比将其转储到控制台更麻烦。 。我想另一种选择是使用具有DEBUG设置的日志记录框架,但是我仍然觉得多余的日志记录说明就像将它们运送到控制台一样丑陋。

我这里有什么选择吗?他们的Java调试框架是否使其更清洁?作为参考,我想知道何时调用某些特定方法,以及执行中不同点的各种对象的字符串表示形式。

提前致谢。

最佳答案

您可以使用AspectJ保持注销生产代码并使之更易于阅读。使用正确的切入点,您可能也不需要编写几乎相同的调试代码。如果您花费大量时间进行调试,请考虑进行单元测试或更严格的开发方法。另外,切勿在抛出异常时捕获异常并记录日志。

07-28 03:48
查看更多