プラクティス名
ボーイスカウトルール
プラクティスの目的・狙い
- 技術的負債の累積予防
- 本格的なリファクタリングの開催頻度低減
どんな時に使うか
- コードの見通しが悪くなってきたなと感じた時
- レガシーコードが手に負えないほど汚い時
実施手順
- ソース修正の際、該当箇所の周辺コードで気になる箇所があればついでにキレイにする
- 無理のない範囲でやる(ソース全体を直さなくてもよい)
日々の積み重ねが大規模なリファクタリングという大掃除を回避することにつながります。
大掃除は完全には無くせないかもしれませんが、少なくともその頻度は下げられます。
アレンジ例
- 見込みよりも早く終えられそうなスプリントで「みんなでボーイスカウトしよう!」と、声をかける
- すぐに直せない場合は「ここ直したい」とソースコメントを追記しておくだけでもいい
アンチパターン
- 特定の人しかやっていない(やるなら全員で)
- 不用意に触るからバグるんだ、と責め立てる(本当に悪いのは触った人ではなく汚いコードです)
参考情報
出典は以下です。
https://プログラマが知るべき97のこと.com/エッセイ/ボーイスカウト-ルール/
また以下の記事ではプログラム以外の成果物に対するボーイスカウトルールについても言及されています。素晴らしい視点だと思いましたのでリンクさせていただきました。
スクラムでのボーイスカウトルールについて考えてみた
こぼれ話(私的コメント)
プラクティス名は「来た時よりも山をキレイにして帰る」というボーイスカウトの習慣が由来。訪れた周辺はキレイにするが、山全体をキレイにしなくてもよい。