ルール21とにかく釘を打たなきゃいけないこともある

 プログラミングとは、それ自体に創造性が内在し、知的な面で挑戦しがいのある活動である。ってのが、ぼくがプログラミングを大好きな理由の大部分を占めており、きみもおそらく同じことを言うだろう。どの問題も前の問題とは違い、解くにはちょっとした賢さが必要だ。ただし、本書のルールに沿って、できればあまり賢さをひけらかしすぎないようにしよう!

 でも、あらゆる問題にエレガントな解法があるわけじゃない。どんなにわくわくするプログラミングの課題であれ、退屈な作業が占める瞬間はあるものだ。例えば、面白くないタスク、わくわくしづらいタスク、誰もやりたがらないタスクとか。退屈な作業は後回しにして、チームの誰かが代わりに引き受けてくれるよう密かに願いつつ、わくわくするものの方に取り組んでしまいやすい。

 こんな風に前提を置いていると、本章の教訓に意表を突かれはしないだろう。「退屈な作業をスキップしちゃいけない」って教訓だ。その愛嬌のないタスクはどこにも行きやしない。きみが寝てる間に仕事をこなしてくれる、コードの妖精さんの大群はどこにも隠れていない。そして、中途半端にしかできてないタスクは、プロジェクトを死に至らしめる遅効の毒なのだ。

 重要なのは、危険の兆候を知ること。きみは賢い人だ1。自分が楽しめないタスクの必要性からどうにか逃れるための理屈をこねられるくらいに、無駄に賢い。きみのバックログ2にもっと面白いタスクが着手待ち状態でたくさん溜まっていればなおさら、理屈をつけて面白くないタスクを避けがちになる。

1 本書の最後のルールまでたどり着いたのは、きみが備える知恵と洞察力の証拠と捉えている。

2 訳注:バックログ(backlog)は、優先度の低い、短期的には対応しないものの長期的には対応するかもしれないタスクを記録しておくリスト。 ...

Get ルールズ・オブ・プログラミング ―より良いコードを書くための21のルール now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.