自戒の弁。
最小努力の法則
「最小努力の法則」というものがある。
これは、ある目標を達成するのに複数の方法が存在する場合、人間は最終的にもっとも少ない努力で済む方法を選択する、というものである。
私はこの法則を「ファースト&スロー」で知った。
これが、コード品質にも言えて、人間は動くための最小努力をして満足してしまう。
コードが動いた状態で満足してしまう。
立ち止まって見直そう
ここで本当はやらなくてはいけないのは、一度立ち止まって自分のソースコードを見直すということだ。
Gitなどでdiffをとって、本当にこのコードでいいかどうか、論理的に欠陥はないかを確かめてることが大切なのだ。
「ファースト&スロー」で言うところの 怠け者のシステム2(遅い思考。論理的な思考)に働いてもらわなければいけない。
欠陥を探すためのテスト
私も直感型の人間なので、怠け者だ。
怠け者はテストを書くのをサボリがちだ。
ただ、上記で書いた論理的欠陥を洗い出すためにはテストが有効だ。
テストケースを正常系/異常系でテストケースを考え、入力に対して正しく出力されるかを確かめるのだ。
人間の認知の限界をテストで超えなければならない。
テストが書きやすいコードを
ここで大事なのは テストがしやすいコード であることなのである。
テストをしづらいと、テストが書く気力が湧かない。
人間は低きに流れるので、できる限り流れないようにここをしっかりしなければならない。
今は大いに反省している。人類はもっとテストを書かなければならない。