我知道所有反对 Java 中的预处理器和宏的哲学论点。我不同意仅仅因为某些人可能滥用语言功能,就应该将其排除在外。
我想在我的 Java 和 Scala 代码中包含__FILE__
和宏,以实现高效的日志记录。__LINE__
由于运行时性能影响,任何使用 Exception 都是不可接受的。那些认为可以在“生产代码”中关闭日志记录的人应该听从 Brian Kernighan 的建议:
删除“现在程序正在运行”的错误消息就像在地面上戴降落伞,但一旦你在空中就将其取下。
这些宏是否有可能成为语言?如果没有,有没有办法使用 Maven 运行像 m4 这样的预处理器?
谢谢。