我目前正在使用 C 进行编码,并且有很多 printf,以便有时可以跟踪应用程序的流程。问题是,有时我想要比其他人更多的细节,所以我通常花时间注释/取消注释我的 C 代码,这样我就可以获得适当的输出。
使用 Java 或 C# 时,我通常可以使用方面将实现代码与日志逻辑分开。
您在 C 中是否使用任何类似的技术来解决这个问题?
我知道我可以放置一个名为 DEBUG 的标志,该标志可以打开或关闭,这样我就不必每次想要显示或隐藏 printfs 时都到处注释/取消注释我的整个代码。问题是我还想摆脱代码中的日志记录逻辑。
如果我用 C++ 代替 C 进行编码,会更好吗?
Edit
似乎有一个 AspectC++,所以对于 C++ 似乎有一个解决方案。那么C呢?
Thanks
IME 你无法真正将日志记录与你想要记录的算法分开。有策略地放置日志语句需要时间和经验。通常,代码在其整个生命周期内不断组装日志语句(尽管它是渐近的)。通常,日志记录随着代码的发展而发展。如果算法经常改变,那么日志记录代码通常也会改变。
你能做的就是将日志记录为不引人注目的尽可能。也就是说,确保日志记录语句始终是不会干扰算法读取的单行语句,以便其他人可以将其他日志记录语句插入到现有算法中,而无需完全理解您的日志记录库等。
简而言之,像对待字符串处理一样对待日志记录:将其包装在一个漂亮的小库中,该库将被包含在几乎所有地方并使用,使该库快速且易于使用。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)