我在编程时将System.out.println()(sout)用于调试和一般状态概述目的(这对网络工作特别有用)。由于我希望代码在结尾处高效,有没有办法告诉Java编译器忽略输出?
我已经尝试了一些谷歌搜索,但是这些解决方案非常不令人满意,例如将所有子句放在带有全局变量的if中。 (如果需要大量处理,请整理行并使代码非常不可读)
任何人都知道是否存在这样的编译器选项(如果不存在,为什么不这样做?),或者是否还有其他更优雅的解决方案,而上述解决方案除外。谢谢您的回答 :)
最佳答案
使用logging。您可以指示通常不会显示的日志级别,并且可以显示日志属性。可以控制等。
Logger.getLogger(getClass().getName()).log(Level.FINE, "...");
实际上,有许多记录示例和方面。因此,如果您希望代码既简单又成熟,请使用日志记录。
另一种方法是使用单元测试,而不在生产代码中输出。这需要更加严格,并允许发现回归错误。
第三种选择是更自由地使用(未经检查的)异常IllegalArgumentException,IllegalStateException。快速提供信息。