ボーイスカウトだった@HIROCASTERでございませう。
ボーイスカウト精神を持って、日々のコーディングを…。
という話をしたら「そもそも、それなんじゃい?」という話になった。ボーイスカウト自体を知らない人も結構多いのだなぁ。と感じたので、改めてプログラマの皆さまへは知識として共有したいと思います。
ボーイスカウト精神を持って、日々コーディングをすれば、小さな改善を積み重ねて、やがて待ち受ける、大きな負債と決死の戦いをすることを避けることができるかもしれません。
そもそも、ボーイスカウトとは?
ここがあまり重要ではないので、詳しいことはWikipediaに任せるとして…。
ボーイスカウトはイギリスの退役軍人のロバート・ベーデン=パウエル卿(以下 B-Pと表記)が、イギリスの行く末を懸念し、将来を託すことの出来る青少年の健全育成を目指して創設した青少年運動である。
実社会で先駆的な立場に立てるように、身体を実際に動かし、形に囚われない戸外活動を通じて心身ともに健全な青少年の育成と教育を目的とする。なお「スカウト」とは「偵察」「斥候」の意。
日本では週末に中高生が集まって、キャンプしたり、ボランティアしたりしているのが実態です。青少年に健全な肉体と精神と行動を持たせる活動みたいなものです。
ボーイスカウトに見習うべき精神や規則
彼らの活動のルールや規則として、良くあげられる例が「キャンプ場を離れる時は、来たときよりも綺麗にする」というものです。
私自身ボーイスカウトの経験では、キャンプをしたときに、撤収するときはゴミ袋を持って、キャンプ場全体のゴミを拾ったり、清掃や整備をしました。
自分たちの手の届く範囲を撤収と同時に、軽く清掃活動をするという感じです。
実生活に例えると?
毎日通っている会社の机や、会議室があると思います。そこを利用したら、利用する前よりも綺麗にして帰る。という具合です。
ボーイスカウトルールをソフトウェア開発に応用する
ボーイスカウトのこの精神や規則をソフトウェア開発に置き換えて考えると、ファイルをバージョン管理システムにチェックインするときは、チェックアウトしてきたときよりも、綺麗にすると表現されることが多いです。
ボブおじさんこと、Robert C. Martinはプログラマが知るべき97のことの中で、The Boy Scout Ruleとして寄稿しています。日本語訳は書籍をご覧ください。
実際やることは?
実際の所は、何かのメソッドを追加するタスクを実施すると仮定します。作業としては、メソッドを追加するだけでなく、隣のメソッドをリファクタリングしたり、変数名をより適切なものに直したり、ファイルを開いたときよりも、少しだけ綺麗にするということです。
プロのプログラマとして習慣化すべき
ソフトウェアが大きくなり、数々の負債が問題となってから、大規模な手術をするのが難しいことは多くの人が経験しているでしょう。これをできるかぎり防ぐ方法として、小さな改善の積み重ねが有効的であり、習慣化できていることがプログラマとして望ましい姿です。
コミットする前に、プッシュする前に、PRを出す前に、少し改善できることを探して、コードを少しだけ良くしてみましょう。そう、コツコツと。
和田 卓人, Kevlin Henney, 夏目 大 |