【发布时间】:2011-06-11 14:53:46
【问题描述】:
编写高质量的软件应该是第一步。现在这是一个移动的目标。(我们有一些类似于https://stackoverflow.com/questions/3716203/automatic-code-quality-and-architecture-quality-static-code-analysis 的东西。我们也有回归测试套件和测试环境,类似于一些选定的客户。)无论我们做什么,有些情况下只有客户才能看到并得到崩溃/错误。有时他们只是有性能问题。有时是崩溃,有时是应用程序对象模型错误。
一般来说,我怎样才能减轻疼痛?我怎样才能从这种情况中获得大部分(数据)?当问题第一次和第二次出现时,什么样的编码/架构步骤可以帮助获取更多信息?
以下是起点:
良好的日志记录: log4j 是起点。用户应该能够轻松更改文件。提供一个小的 gui 来编辑这样的文件会更好。 (我们的日志配置位于 Windows 7 的 c:/Program Files/ 区域;对于普通用户来说不容易进行编辑 - 需要神奇的“以管理员身份运行”选项。)。
堆转储:内存不足时转储堆。
自动提交错误报告: Firefox、intellij 等就是很好的例子。不确定是否有现成的库。
JMX: 对于服务器应用程序,这似乎非常有用。我没用过。
检测系统要求的工具: 我还没有做。
自动升级能力:
我们的主要是与服务器交互的java桌面应用程序。我想我们可以采取更多步骤,直到我们获得所需的质量:)
【问题讨论】:
标签: java maintenance maintainability