hAcKTion

日々のアウトプット場所。

JANコードのチェックデジットを求めるプログラムのテストを書いて思ったこと

昨日作ったJANコードチェックデジットを求めるプログラムにテストを追加した。

github.com

1つ目に思った事は、 calcJanCodeCheckDigit()getCheckDigit() が、実質同じテスト内容になってしまい、どっちか要らないんじゃないか...という気持ちになっている事です。

意図としては、 getCheckDigit() でも、 addCheckDigit() でも、同じチェックデジットの求める処理を使うということなのですが、もうちょっと分け方を工夫できたのではないかと思ったりもします。

2つ目に思った事は、 エラー処理の条件や、正常処理の条件・組み合わせをテスト側で予め考えて書いておくと、実装ミスが少なくなりそうという事です。 昨日のエントリの実装ミスは、テストを書いて初めて気づきました。

hacktion.hateblo.jp

今までは、実装書いてコミットしてから、テストをコミットする。という方が見やすいかなと思っていましたが、
いちいち書いている関数を実行するより、テストを実行したらすぐコケてくれるし、
どういう結果を期待して実装しているのかがわかりやすいと思うので、
実装とテストはセットでやって行こうと思った次第でした。