【问题标题】:Guidelines/ideas to make supporting application easier使支持应用程序更容易的指南/想法
【发布时间】: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


    【解决方案1】:

    对于服务器应用程序,请考虑使用像 Dynatrace(非免费但很好)这样的工具来半实时地查看您的代码。

    与您的问题不完全一致,但通常会尝试在错误到达 GA 之前通过FindBugsSonar 等工具找到错误。

    我不知道自动错误提交库,但一个快速的 RESTfull Web 服务很容易构建一个非常有价值的。

    对不起,这不是一个过于完整的答案,而是我多年来收集的一些内容。

    【讨论】:

      【解决方案2】:

      几个建议:

      1. 在向客户推出产品之前进行良好的 QA,包括性能和负载测试。
      2. 足够/适当的客户端和服务器端日志记录,以便在问题发生时帮助诊断问题。
      3. 就错误编写指南对(测试版)客户进行培训。这可能包括从帮助 | 获取发布信息。关于,包括重现问题的精确步骤、屏幕截图和日志信息。如果报告不完整,则更难诊断问题。
      4. 很多问题都是特定于数据的,需要复制客户数据才能重现。如果可能,维护包含客户数据/配置的测试环境。

      【讨论】:

        猜你喜欢
        • 2016-07-20
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多