些細なことでも理由を書いておく理由
背景
GitHubで開発しているプロジェクトたち/プログラムたちにしてもこのScrapboxにしても理由をなるべく書いている。
このページではなぜ理由を書いているかについての理由を書く。
理由を書くことにそこそこ時間を使っているがとても大事だと思っているので、その思いを残して置きたかった。
将来の自分のため(≒ 他人のため)
将来の自分と他人というのは似ている気がするので、他人さんためにもなるはず。つまり、理由を書いておくとみんなハッピーなはず。
ここでの将来の自分というのは、「1時間後の自分」とか「1ヶ月後の自分」とかの近い将来も含んでいる。
コードや文章や決まりやポリシーやそういうものは、自分が書いていても時間が経つと忘れてしまうことがある。
それらを書いているときには、何らかの理由があって書いているはず。ただ後から書いてあるものを見ても、「なんでこれ必要なんだっけ?」「変えても問題かな?」「消しても問題ないかな?」ということに直面することがある。
これらを解決策として「理由を書いている」。
理由というのは割と些細で「どんな目的で作ったか?」「なんでこのライブラリを選んだか?」など。大体が作っているときは当たり前だと思っているもの。ただこれらの理由の力は強力で、これらの理由を書いてなかったときと比べて居心地が良くなった。
例えば、
「最小構成にしたい」みたいな理由だったら、だから「サードパーティ製を使わずに標準ライブラリだけで構成されているんだな」みたいなことが、後々把握しやすくなった。
他にも、「0.2.3でOOOのエラーが出るから、この設定を追加している」という理由があれば、「現在の最新版0.3.1だと設定消してもエラーでないしそれのfixのPRもマージされているから、設定消して大丈夫だな」みたいなことがわかる。
「プロジェクトが解決したいこと」を書いていれば、それを解決することに役立つことは積極的に機能追加・変更・削除できるし、それに反することなら変更すべきでないことが分かる
技術関連に限らず、文章など書くときに理由を書くメリットは多い気がする。
例えば、
このScrapboxの★ Scrapboxを書くときポリシー ★などがそれに該当する。
書いてある目的に沿っていれば、
違う書き方ができるし、
Scrapboxをやめて他のサービスに変更する理由にもなるし、
Scrapboxがその用途に合わなくなる変更が加わればやめて他のものを使う理由になるし
(時間が経てば、いろいろ周りも変わるが前提になっている)
結局大事なところ、目標(理由)を達成することなので、理由を何らかの形で残しておけばきっと役に立つ。
GitHubのようなオープンな場でプルリクエストみたいな機能があると、自分のためだけでなく他人さんのためにもなるはず。
おわりに
これで、理由を書く理由を書いたため、理由を書くことをやめることができる。
例えば、「ヒトがすべてのことを永久に無限に記憶可能なる」なら、自分のために理由を書く必要は完全になくなる(他人さんのためを考えると必要だが)。なぜなら、上記に書いたことは「人は時間が経つと忘れる」が前提あるのでこれが覆るとその理由も消滅できる。「各ヒトが考えていることがすべてのヒトとテレバシーか何かで共有される」かつ「永久記憶可能」なら、すべての人の考えを知っていて記憶も永遠だから、ここに書いた理由を書く理由が完全に消滅できる。
ただ、ここに書き忘れていることもあると思うで(深層にあるものほど当たり前で出てないよくあるやつ)、そのときは付け足すはず。
まとめ
理由を書いておくと将来、追加・変更・削除がしやすい
主義って大事(全然触れてなかったけど)