質問

古い、不適切に書かれたエラー メッセージのテキストの一部を変更しています。適切なエラー メッセージを作成するためのベスト プラクティスに関するリソースは何ですか (特に Windows XP/Vista の場合)。

役に立ちましたか?

解決

エラー メッセージの文言に関しては、次の Windows アプリケーションのスタイル ガイドを参照することをお勧めします。

他のヒント

究極のベスト プラクティスは、そもそもユーザーがエラーを引き起こさないようにすることです。

ユーザーに興味のないことは伝えないでください。エラー コード 5064 は誰にとっても意味がありません。彼らが何か間違ったことをしたとは言わないでください。まずそれを禁止します。特にソフトウェアが犯した間違いについては、彼らを責めないでください。何よりも、何かトラブルがあったとき、 それを直す方法を教えてください そうすれば彼らは先に進んで仕事を終えることができます。

適切なエラー メッセージは次のとおりです。

  • 目立たないようにする(死のブルースクリーンやイエロースクリーンを表示しない)
  • ユーザーに問題を修正するための指示を与えます(可能であれば自分で、または誰に助けを求めればよいか)
  • 役に立たない難解なプログラマーのナンセンスを隠す (「45 行目で null 参照例外が発生した」などとは言わないでください)
  • 冗長にならずに説明的にしてください。ユーザーに知っておくべきことを伝えるのに十分な情報だけで、それ以上は何もありません。

私が取り組み始めたことの 1 つは、エラー メッセージに表示する一意の番号を生成してログ ファイルに書き込むことで、ユーザーがスクリーンショットを送ってきたり、電話で「私はエラーが発生しました。私の参照番号は0988-7634です」

セキュリティ上の理由から、ユーザーが必要としない内部システム情報を提供しないでください。
些細な例:ログインに失敗した場合は、ユーザー名が間違っているか、パスワードが間違っているかをユーザーに伝えないでください。これは、攻撃者がシステムをブルートフォースするのに役立つだけです。代わりに、「ユーザー名とパスワードの組み合わせが無効です」などと言ってください。

エラーを修正するための提案を常に含めてください。

問題を解決できるようにソフトウェアを作成する方法を見つけてください。

ユーザー入力 (文字列、ファイル名、値など) については、常に誤った値を区切り記号 (引用符、括弧など) で囲んで表示します。例えば

入力したファイル名が見つかりませんでした:「somefile.txt」

これは、紛れ込んだ可能性のある空白/復帰を表示するのに役立ち、トラブルシューティングとフラストレーションを大幅に軽減します。

  1. 異なる場所から同じエラー メッセージが送られることを避けてください。可能であれば file:line でパラメータ化するか、開発者がエラーが発生した場所を一意に特定できる他のコンテキストを使用してください。
  2. 特に商用製品の場合は、簡単にローカライズできるようにメカニズムを設計します。
  3. エラー メッセージがユーザーに見える場合は、コードに関する深い知識を前提とせず、完全で意味のある文にしてください。覚えておいてください、あなたは常に問題に近づきすぎていますが、ユーザーはそうではありません。可能であれば、続行方法、連絡先などについてユーザーにガイダンスを提供します。
  4. 可能であれば、すべてのエラーにメッセージを含める必要があります。そうでない場合は、すべてのエラー アンワインド パスが最終的に、何が起こったのかを明らかにするエラー メッセージに到達することを確認してください。

    ここには他にも良い答えがあると確信しています...

実際には、より短いメッセージが読まれる可能性があります。

エラーメッセージが長ければ長いほど、ユーザーは読む機会が減ります。そうは言っても、明らかな応答がある場合に例外を排除できるように、コードをリファクタリングしてみてください。ユーザーまたはコードの制御を超えた事柄に基づいて例外が発生するようにしてください。

最良の例外メッセージは、決して表示する必要のないメッセージです。

エラー 取り扱い エラーよりも常に優れています 報告, ただし、エラー メッセージを改造するだけであり、必ずしもコードを改造するわけではないので、いくつかの提案を示します。

ユーザーは問題ではなく解決策を求めています。「現在のウィンドウを閉じて操作を再試行してください」という単純なメッセージであっても、エラー後に何をすべきかを理解できるようにしてください。

私は、エラーの一元的なログ記録の大ファンでもあります。ログが人間とコンピュータの両方でスキャン可能であることを確認してください。ユーザーは、特に「回避」できる場合には、どのような問題が発生しているかを常に知らせてくれるわけではないため、ログは、何を修正する必要があるかを知るのに役立ちます。

エラー ダイアログを簡単に制御できる場合は、エラー番号やトレースなどを表示する「詳細」ボタンを備えた読みやすいメッセージを表示するダイアログが必要です。リアルタイムの問題解決にも役立ちます。

多言語のサポートはあらゆる種類のメッセージに適用されますが、エラー メッセージの場合は忘れられがちです。

次に、数値エラー コードのような役に立たない難解な情報をユーザーに伝えたくありません。ただし、より技術的に精通した人によるトラブルシューティングのために、その情報を確実に記録するように言っておきます。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top