良質のソフトウェアを書くことが最初のステップです。今のところ、それは一種の動く目標です。( https://stackoverflow.com/questions/3716203/automatic-code-quality-and-architecture-quality-static-code-analysisに沿っていくつかのことがあります。一部の一部の顧客と同様の回帰テストスイートとテスト環境があります。)何をするにしても、顧客だけがクラッシュ/エラーを確認して取得する場合があります。パフォーマンスの問題がある場合もあります。クラッシュすることもあれば、アプリケーションオブジェクトモデルエラーになることもあります。
一般的に、どうすれば痛みを軽減できますか?このような状況からほとんどの(データ)を取得するにはどうすればよいですか?問題が1回目と2回目に発生したときに、より多くの情報を取得するのに役立つコーディング/アーキテクチャの手順はどのようなものですか?
出発点は次のとおりです。
良好なロギング: log4jが開始点です。ユーザーはファイルを簡単に変更できるはずです。そのようなファイルを編集するための小さなGUIを提供することはさらに良いでしょう。(私たちのログ設定は、Windows 7のc:/ Program Files /領域にありました。通常のユーザーにとって簡単ではない編集-魔法の「管理者として実行」オプションが必要です。)
ヒープダンプ:メモリ不足が発生したときにヒープをダンプします。
エラーレポートの自動送信: Firefox、intellijなどが良い例です。このための既製のライブラリがあるかどうかはわかりません。
JMX:サーバーアプリケーションの場合、これは非常に便利なようです。私はそれを使ったことがありません。
システム要件を検出するためのツール: 私はまだそれをしていません。
自動的にアップグレードする機能:
私たちのものは主にサーバーと相互作用するJavaデスクトップアプリケーションです。希望の品質が得られるまで、採用できるステップは他にもあると思います:)