ソフトウェア開発者の日常

こだわりなく書きたいことを書いていきます。

間違えた、ではなく、経験を積んだ

プログラムを作成し、テストをしていると、結果が正しくありませんでした。
正しくない理由を考えると、データを取得するための条件が正しくなかったことに気がつきました。

データを取得するための条件の追加を簡単に行おうとすると、不都合があり、クラスをあちこち修正する羽目になりました。

クラスを修正してテストを行い、結果が正しいことを確認できました。
結果が正しくなったので、同じクラスの他のメソッドの動作を考えると、同じように修正が必要なことに気がつきました。

正しい結果を得るためには、クラスをさらに修正しなければなりません。
修正する方法は既に分かっていますが、同じように修正をしなければならないことが手間に感じます。
手間に感じつつも、正しい結果を得るために、クラスの修正を始めました。

修正している途中で、クラスのコンストラクタの引数として、データを取得するための条件を与えるように修正すれば、修正の規模が小さくなることに気がつきました。
既に修正してテストを行った部分は、元に戻して再度の修正が必要です。

元に戻すことに面倒さを感じ、元に戻さず修正を続けようかと思いましたが、今できるより良い方法を選ぶべきだと考えました。
考えた結果、クラスのコンストラクタの引数として、データを取得するための条件を与えるように修正を行うことにしました。

f:id:AJYA:20181221055950p:plain
unsplash-logoJake Young

修正途中で気がついたとき、間違えた、と思いました。
最初から気が付くべきだ、とも思いました。

別のプログラムを作成する際に、同じ間違いをしなければいいのだと考えました。
同じ間違いをしないということは、経験がなければできないことです。

間違いでなく、経験を積むことができました。