いつまでもエラーを抱えてしまう人に贈る、IDEAのエラー共有プラグイン

  • 24
    Like
  • 2
    Comment

チームで開発している時に、いつまでも同じエラーを抱えている人っていませんか?

「いつまでも自分で抱えていないで聞けばいいのに!」と思うのですが、本人は解決できると思っているらしく、自力で解決しようとしてずるずると時間がかかってしまいます。これは本人にとってもチームにとっても生産性の低い状態であると言えます。

スクリーンショット 2017-03-06 15.30.15.png
 
そんな状況を解決すべく、エラー発生時にエラーメッセージと該当するコードを自動的にチームのSlackへ通知するIDEA用のプラグインをつくってみました。プラグインの名前は watchMe です。

slack-screenshot-00.png

watchMe では、自分の抱えているエラーをチームメンバーに共有し、アドバイスをもらうことで問題をすぐに解決することを目的としています。watchme.001 2.jpeg

コードは以下で公開しています。スターつけていただけるとうれしいですm(_ _)m
chakki-works/watchMe

導入にはIDEAでのプラグインインストールと Slack Incoming Webhook の設定が必要です。では設定方法を紹介します。

導入

Slack Incoming Webhookの設定

まずは Incoming Webhook の設定をします。以下の URL を開いてください。
https://slack.com/services/new/incoming-webhook

エラーメッセージを通知したいチャンネルを選択します。取り組んでいるプロジェクトごとにチャンネルを作成しておくと良いでしょう。
slack-screenshot-01.png

チャンネルを選択したら、Webhook URL が表示されるのでメモしておきます。
slack-screenshot-02.png

Slackの設定は以上で終わりです。次はプラグインをIDEAにインストールします。

watchMeのインストール

ここではプラグインをインストールします。IDEAのPreferences -> Plugins -> Browse repositories...からwatchMeを検索してインストールします。インストールを有効にするためにIDEAを再起動してください。
slack-screenshot-03.png

watchMeがインストールされたら、Tools -> Slack Settings -> Add Slack Channelを選択します。
slack-screenshot-04.png

ダイアログが表示されるので、あなたの名前とメモした Webhook URL を入力します。名前は誰のエラーなのかを表示するために使われます。
slack-screenshot-05.png

以上で設定は終わりです。エラーが発生するとSlackにエラーメッセージと該当するコード行が通知されます。
slack-screenshot-00.png

課題

現在はエラーが発生すると自動的に通知してしまいます。自動的に通知してくれるのは良いのですが、簡単なエラーはアドバイスをもらう前に自力で解決してしまうことがありました。そのため、同じエラーが何度か発生した場合に通知するようにした方が良さそうです。

また、作り終わってから気づいたのですが、開発で時間がかかっているのは、発生したエラーを解決するのにはまっているのではなくてロジックや設計を考えているときなのでは?という仮説が浮かびました。その仮説が正しいとすれば watchMe では検知が不可能です。なので、以下に挙げるような情報を取得してアラートを発するようなプラグインを作るとひょっとすると生産性向上に役立つのかなと思っています。

  • コードを書いていない時間
  • 1ファイルを開いている時間
  • 姿勢(体の傾き、腕組みetc)
  • キーボードに触れている時間