简化支持应用程序的指南/想法

| 编写高质量的软件应该是第一步。就目前而言,这是一个移动的目标。(我们沿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桌面应用程序。我想我们还有更多的步骤可以采取,直到我们达到理想的质量为止:)     
已邀请:
        对于服务器应用程序,请考虑使用Dynatrace之类的工具(非免费但不错),以半实时方式查看您的代码。 与您的问题并不完全一致,但通常会尝试通过FindBugs和Sonar之类的工具在发现错误之前找到错误。 我不知道自动错误提交库,但是快速的RESTfull Web服务将很容易构建非常有价值的资源。 抱歉,这不是一个过于完整的答案,但我多年来已经掌握了一些。     
        一些建议: 在向客户推出产品(包括性能和负载测试)之前进行良好的质量检查。 足够/适当的客户端和服务器端日志记录,以帮助在问题发生时进行诊断。 对(测试版)客户进行有关错误编写准则的培训。这可能包括从“帮助” |“帮助”中获取发布信息。关于,包括重现问题的精确步骤,屏幕截图和日志信息。报告不完整时,很难诊断问题。 许多问题是特定于数据的,需要复制客户数据才能重现。如果可能,请维护包括客户数据/配置在内的测试环境。     

要回复问题请先登录注册