手練れでなければ。
で、早く終わったら、はしゃいでPRを出すんじゃなく、
「テストしろ。テスト!」
そんなにテストできないですよ、って声が聞こえてきそうだが、それはテストを考える知恵がないだけだ、と言い切れる。
テストを「考えつく」というのも技術者の大事な素養だ。
今書いた処理が正しいかだけじゃなく、変なデータが入ってこないかとか、どんな例外が発生するかとか、例外が発生した時はどうすべきかとか、考え尽くせていない点がないかの確認を念入りにしよう。
で、テストを自動化するのだ。
自動化できない?
難しい?
それは、あとから自動テストを、と考えるからだ。
ほとんどの機械や建物は、点検用の穴が空いているものだ。
それは後から開けたものではない(はずだ)。
検証(自動テスト)できない処理は、書くべきではない。
いつぶっ壊れるか確認ができないブツを、人様に使っていただくわけにはいかないからだ。
まずどう検証(テスト)するか。それをどう自動化するかを考えてから、それができるようにプログラムを組むのだ。
出来上がったプログラムを、後からテストしようとするから難しかったり不可能だったりするんだ。
世にあるテストの解説ページ、あれは解説用にテストしやすい題材を使って書いてるから簡単に書けてるだけだからな。
# 手練れならテスト込みでほぼ見積もり通りに完成させると思う。