「プログラマが知るべき97のこと」を読みました

2017年5月10日

「プログラマが知るべき97のこと」を読んで、非常に勉強になったので、特に印象に残ったものをいくつかピックアップして見たいと思います。

PDF版も公開されてますので、もし興味がある方はこちらからどうぞ。

[37]バグレポートの使い方

自分の知らなかったことを知ること、それがバグレポートの目的です。

この意識があるかないかで、バグレポートを記述する際のモチベーションが変わってくる気がします。

というのも、「バグを出す」という行為は、エンジニアにとっては自分が作ったものを否定されているような気持ちになる作業であり、あまり気持ちがいいものではないからです。
ただ、ある程度経験を積むとそんなことはないとわかってきますが・・・。
それがわからないエンジニアは自分を否定された気持ちになり、あからさまにモチベーションが低下していきます。

そんなことにならないためにも、きちんと目的を持ってバグレポートを書いたり読んだりしたいですね。

バグレポートを書く際は、1つの欄にあれこれと情報を詰め込みすぎないように注意します。
たとえば、「件名」欄に”VITAL :”(vital :致命的) などと書いて、それで、バグの重要度を示す、というようなことを勝手にしない方がいいでしょう。確かに、これでバグレポートがソートしやすくなっていいかもしれませんが、他の人が真似をする時に、微妙に表記を変えてしまうこと(大文字を小文字に変えたり、以後のコロンを抜かすなど)が必ず起きます。別のレポートに記述を流用する際に、”VITAL: “をいちいち削除しなくてはならない可能性もあります。何か情報を追加したい場合には、新たに欄を作った方がいいでしょう。そして、その欄の用途を書いたドキュメントも作っておくのです。そうすれば、他の人が同様の欄を重複して作ってしまうということは防げます。 バグレポートの数が増えてくれば、プロジェクトチームのメンバー全員が必要なレポートを確実に見つけ出せるよう、そのための手段も用意しなくてはなりません。通常は、レポート検索のためのクエリを作ることになります。クエリには、すぐそれとわかる名前をつけ、全員が同じものを使うようにすべきです。クエリに何か変更を加える際は、その度にチーム全員に何をどう変更するのかを通知します。

プロジェクトを運営する上で特に注意が必要だと思いました。プロジェクトのルールなく勝手に欄を追加したり、記述する内容を変えたりすると非常に管理が煩雑になります。
混乱しているプロジェクトだとこういうシーンがよく見受けられます。

きちんとプロジェクトのルールを明確にし、ルールに沿った運用を心がける必要があると思いました。もちろん、変化を加えるべきところは柔軟に対応が必要となりますが・・・。

[51]プロジェクト自身にしゃべらせる

XFD(eXtreme Feedback Device)について言及されています。自分としてはかなりホットな話題だったので非常に興味深かったです。

まず通知の手段が問題です。手段としては、eメールやインスタントメッセージなどが使えるでしょう。たとえば、テストカバレッジが低下した時や改善した時に、それを即座にメールやメッセージで伝えるようにするのです。しかし、それよりもさらに効果的なのは、XFD(eXtreme Feedback Device)です。

eメールやインスタントメッセージじゃ味気ない気がしますよね?
もっと開発に「あそび」を取り入れたい!!

XFDは、定期タスク等の結果に応じ、ランプや小型の噴水、オモチャのロボット、USBロケットランチャーなどを動かす仕組みです。メトリクスがあらかじめ設定した基準値を上回った(下回った)時に機器を動かし、わかりやすく通知するのです。ランプならば、基準値を上回るか下回るかした場合に、一目でわかるように明るく光るわけです。これならば、帰宅しようと急いでいる時でも、見過ごすことはないでしょう。
使用する機器を工夫すれば、ビルドが失敗した時には何かが壊れる音が聞こえる、コードに注意すべき問題が発見された時には信号が赤に変わる、異臭が漂う、そんな仕組みにすることもできます。プロジェクトチームのメンバーが複数箇所に点在している時は、同様の仕組みを各所に作ってもいいでしょう。信号機をプロジェクトマネージャのオフィスに設置し、それでプロジェクト全体の状況を伝えれば、喜ばれるかもしれません。

XFDの良いところは「結果が誰にでもわかる形で目に見える」ところだと思います。メールなどの場合、送信先になってないメンバーはビルドが成功したかどうかわからないですし・・・。
自分のプロジェクトでも是非取り入れたい手法だと思いました。

最後に

とりあえす、2つほどピックアップして見ました。
日本語版の「プログラマが知るべき97のこと」は日本人プログラマによるエッセイが10本追加されているので、107本のエッセイが掲載されています。
第一線で活躍されている方のエッセイですので、どのエッセイも非常に勉強になります。一度は読んでみることをお勧めします。

「97のこと」シリーズは他にもあるので、他の書籍も読んでみたいですね。

97のことシリーズ