より良いエンジニアを目指して

1日1つ。良くなる!上手くなる!

良いエラーメッセージとは?

仕事をしていて

エラーメッセージの一覧を出してくれ

と上司に言われたのでした。一覧を作成して改めて見返してみると、恥ずかしい出来でしたね。

7,8割のプロジェクトが失敗する今の時代。

ほとんどのプロジェクトに工数に余裕はなく、エラーメッセージに気を遣っている時間はないのではないでしょうか。

qiita.com

上記の記事では開発者が見るエラーメッセージとユーザーが見るエラーメッセージとありますが、この考え方はなるほどな、と思いました。

もっと言うと、

  1. ユーザーが解決出来るエラー(必須項目が入っていないなど)
  2. ユーザーが解決できないエラー(いわゆる想定外のエラーで管理者でなければ解決不可)

なのではないでしょうか。

ユーザーが解決出来るエラー

ユーザーが解決できるエラーであれば、〜を入力してくださいなどと言って、解決を促せば良いと。

さらっと言ってしまいましたが、誤った月ですと言うよりは、正しい月を入力してくださいと言った方がいいでしょう。

エラーメッセージなので、開発者はこんなことするわけないだろ、一応、入れとくかとなるので、雑になりがちなのです。

万単位のユーザーが使うシステムに携わって知ったのですが、このレベルになると100人に1人が問い合わせをするだけでも問い合わせは100件になりコールセンターに大きな負荷がかかるのです。

なるべくユーザーが自力で解決出来るようにすることは大事なのです。

ユーザーが解決出来ないエラー

ユーザーが解決できないエラーについては、何が起きているか表示して、これを管理者に伝えてもらい、解決方法を案内することになるでしょう。

ただ、ユーザーになんでも教えてあげればいいわけではないのが難しい問題です。

セキュリティが絡む問題になると、なんでもかんでも教えてしまうと脆弱性を露呈することになります。

ログイン時のパスワードが間違ってますとかそうですね。では、メールアドレスは正しいと分かってしまうとなってしまうので。

エラーコードを巧みに使って、ユーザーには一見同じエラーメッセージでもエラーコードを使いこなしてソースコード上のどこで発生しているか突き止めることも出来ます。

参考記事

postd.cc

ichi.pro