![]() |
1
8
|
![]() |
2
5
作为一名开发人员,我建议尽可能多地留下来。推理? 有一天,你会在程序中遇到一个错误 只有 您所拥有的信息是一个堆栈跟踪,而这个bug不能通过命令进行复制,这完全是原始程序员所没有预料到的,修复它是您的工作。该堆栈中的可用信息越多,跟踪效果越好!保留所有调试信息! 如果可以,那么使用一个日志框架(获取一个文件的堆栈跟踪),该框架可以提供关于在其中找到每个类的JAR文件的信息。logback可以做到这一点,我相信log4j也可以。 你可能不是 允许 包括所有这些信息,但我相信你应该先大喊大叫,说它应该留在应急原因。 我相信,从热点开始,它就不重要了。 |
![]() |
3
3
如果您指的是线号信息,用于打印堆栈跟踪,那么通常最好保持这一点。客户可以将堆栈跟踪粘贴到bug报告中,供您使用。 如果您真的担心方法的名称是可见的,那么可以使用 ProGuard 或者其他一些模糊的东西。Proguard有一个很好的特性,它可以消除堆栈跟踪的混淆,所以客户仍然可以将它们发送给您。 模糊并不是完美的,所以如果你不想花费精力,那么不这样做没有什么错。 |
![]() |
4
0
取决于调试的过度性和程序的性能敏感性。90%的调试水平适中的用户不必担心。 您也可以使用预处理器来消除代码。 |
![]() |
5
0
我同意Balusc的观点,生产中的日志级别通常可以在生产中设置得比在测试中更高(输出更少)。我认为完全清除伐木会适得其反。即使在生产代码中也会发生错误, 需要 记录信息以了解发生了什么。 断言语句也不是什么大问题,当然除非是在一段性能非常敏感的代码中。您应该能够完全忽略它们,因为断言语句通常用于检查不能发生的事情(如果使用正确的话)。但是,尽管困难很小,但把他们弄出去并不是真正必要的。 我个人认为,在生产中安装的软件应该尽可能接近开发软件,因为开发软件是最经常测试的。 |
![]() |
MGoBlue93 · 尝试从命令行编译Java时收到错误 6 年前 |
![]() |
iamkroot · 编译期间“javac:不支持发布版本10” 6 年前 |
![]() |
tng · 实现在所有分析完成后运行的JavaC编译器插件 7 年前 |
![]() |
Shockwave · Java-编译和引用未知名称的类 7 年前 |
![]() |
flow2k · 解析扩展了接口并结束了一个潜在的无限循环 7 年前 |
|
laocak · 从cmd运行java应用程序时出现问题 7 年前 |
![]() |
MrSir · 在java 9中将模块命令与javac一起使用时出错 7 年前 |