blog

システムエラープロンプトをエレガントに行うには?

毎週金曜日11:45に時間通りに配達\nもちろん、時々食事も追加して~。\n\n\n\n\n\n普段の仕事でも生活でも、多くのソフトウェアシステムを毎日使っていると思います。\nそのソフトを使っている...

Nov 30, 2020 · 5 min. read
シェア

毎週金曜日11:45に定刻通り配達

もちろん、時々追加の食事もありますよ



こんにちは、Zです。

日々の仕事や生活の中で、毎日使われているソフトウェアシステムはたくさんあります。

みなさんがそう感じたことがあるかどうかはわかりませんが、ソフトウェアで例外に遭遇したとき、ソフトウェアが不可解なエラーメッセージを出すことがあります。それを知る唯一の方法は、検索エンジンにコピーして、私と同じ問題を抱えている不幸な人がいないかどうかを確認することです。



したがって、優れたエラーメッセージは特に重要です。エラーメッセージは、ユーザーに何が起こっているのかを理解させるだけでなく、例外を解決する方法までガイドします。このように、システムの効率を大幅に向上させるだけでなく、間接的に自社の業務担当者や製品管理者のトレーニングコストを削減することができます。

ですから、プログラマー・コミュニティの一員として、エラー・メッセージ、特に "人 "向けでないエラー・メッセージは、真摯に受け止めていただきたいと思います。



ソフトウェアの制作者として、異常やバグを避けることはできませんが、無意味なエラーメッセージを避けることはできます。

まず、一般的で困惑しやすい偽のプロンプトのいくつかは、そもそも避けるべきです。例えば

  • 提出に失敗しました。

  • データの読み取りに失敗しました。

  • ......

この種のエラーメッセージは、発生した問題を正確に伝えているように見えますが、実際には何も言っていません。もし私が送信ボタンをクリックし、ページがジャンプせず、ボックスがポップアップしたとします。

しかし、具体的に何が問題なのでしょうか?ユーザーとしてどうすればいいのか?わかりません。



また、エラーメッセージに専門用語が多すぎて、ユーザーが理解できなかったり、気にしなかったりすることもよくあります。例えば

  • リモートサービスの応答タイムアウト。

  • トランザクションの実行に失敗しました。

  • ......

実際、これは悪いことではありませんし、テクニカルフレームワークにあるExpcetion情報をエラーメッセージとして直接返すものさえあります。これはユーザーにとってはゴミのようなもので、「システムがメチャクチャだ、解決するのを手伝ってくれ......」とあなたのところに来るだけでしょう。



上記のシーンは、あなたの毎日の仕事で発生した場合、恥ずかしい思いをする必要はありませんが、とてもオーバーしています。同じ前にz弟自身は、仕事のすべてのこれらの年後に、私は思う、この問題に気づいていない、正しいエラーメッセージを書き込むには、次の考え方に従うことができます。



/01 ユーザーが気にも留めないような情報は表示しないようにしましょう。

消去法から始めましょう。

プログラマーとして、あなたはしばしば技術的な手がかり、特にExpcetionメッセージで問題をトラブルシューティングする必要があります。しかし、ユーザーはそのようなメッセージに関心がなく、そのようなメッセージに対して何もできません。

ですから、このような情報がログに記録されるのは良いことで、ユーザーが気にしないページでこのような情報を与える必要はありません。



/02 問題の原因を明確に表現/。

問題の原因を明確にすることは、ユーザーが自分で問題を解決するための基本です。

例えば、先ほどの「船荷証券の失敗」の例で、「XX情報が不足しているため送信に失敗しました」と伝えれば、ユーザーは当然、不足している情報を埋める方法を探そうとします。

あるメールボックスを使用したとき、メールが送信できないことがあり、いつも "メール配信の失敗 "と表示されたのを今でも覚えています。結局、送信に失敗する理由は何なのだろうと、本当に納得したのですが、その後、独自の継続的なテストの結果、ある添付ファイルが大きすぎるために送信に失敗することがわかっただけでした。



/03 ガイダンスを与える

これは、企業内部で使用するシステムや、toBプロジェクトでは特に重要です。というのも、ほとんどのシステム利用者は、自分の業務に関係する部分だけに責任を持ち、他のモジュールのことは理解していません。そのため、問題の原因を明確に伝えても、解決方法がわからず、プロダクトマネージャーや開発者に助けを求めるしかないのです。

例えば、ECプラットフォームのカスタマーサービスが、あるユーザーの注文の配送先をバックグラウンドで修正する際、ある地域以下では利用可能な宅配業者が存在しないことが判明します。"○○の担当者に連絡して設定してください "といった案内をしない場合。もしあなたが、"○○の担当者に連絡して設定してください。"などのガイダンスを行わなければ、彼らは問題を解決するためにあなたのところに来るしかなく、それ以外の方法はありません。

より良いものにしたいのであれば、ユーザーがアクションを実行する必要のあるページに直接到達できるように、シナリオによっては次のステップの接続を直接置くことができます。



/04 プロンプトはできるだけ短く

テキストが多いと、ほとんどの人は一字一句読みませんし、まったく読まない人もいます。

Zは仕事上、このような状況に数え切れないほど遭遇してきました。エラーにしろ、操作のコツにしろ、どんなに詳しくわかりやすく書いても、文章が2行以上あったり、文字数が数十文字以上ある限り、多くの人は送られてきたイメージのスクリーンショットを直接見ても、「どうすればいいんですか?

アメリカのある団体がこの件について調査を行ったと聞きました:

文章中の単語数が8を超えなければ、読者はその文章の100パーセントを理解することができます。

43語以上の文章が含まれる場合、読者の理解度は10%以下に低下します。



上記の4つのポイントは、言うのも理解するのも簡単で、目新しいものではありません。しかし、実際に実行するとなると、多くの人が置き去りにしてしまいます。

もちろん、エラーについて賢明なヒントを与えるよりも良いのは、エラーを避けることです。ですから、さらに一歩進んで、いくつかのミスを事前に回避することもできます。

例えば

  • 有効範囲を超えた日付の選択を避けるために、有効範囲外の日付を無効に設定することができます。

  • クレジットカード番号のような数字以外の文字をテキストボックスに入力しないようにするには、ちょっとした入力制限を行います。

  • 脆弱なネットワーク下でページが正しく読み込まれず、エラーが発生するのを避けるために、キャッシュを行うことができます。

  • ......



まあ、要約すると

この投稿で、Zはソフトウェア・システムが発するエラー・アラートに関する私の見解を紹介します。私は、良いエラーアラートは以下の4つのポイントを満たす必要があると考えています。

  1. ユーザーに関心のない情報を促さない

  2. 問題の原因の明確な表現

  3. ガイドの提案

  4. プロンプトはできるだけ短く

もし可能であれば、事前に制限をかけることで、いくつかの例外を回避することもできます。

お役に立てれば幸いです。



推薦図書

出典:

この記事は、複数記事をブログ化するためのプラットフォームである 公開されました!

Read next

今回はJavaの定数プールを徹底的に理解する

JVM定数プールは、主にクラス・ファイル定数プール、ランタイム定数プール、グローバル文字列定数プール、基本型ラッパー・クラス・オブジェクト定数プールに分けられます。 クラスファイルは、バイト単位のバイナリデータストリームのセットであり、Javaコードのコンパイル時に、書き込まれたJavaファイルは、ディスク上に格納されている.classファイル形式のバイナリデータにコンパイルされ、クラスが含まれています...

Nov 30, 2020 · 12 min read