テスト駆動開発ってどれだけ重要なのか?一緒に見ていきましょう!!
プログラミング初心者から中級者になってくるとプログラミング作法の勉強がきになるところ。
もっとスマートに、もっと品質よくコードを書きたいという方にオススメなテスト駆動開発を少しわかりやすく説明したいと思います。
最後の方で、私がめちゃくちゃオススメするコンテンツを紹介しますので、お楽しみに!
もくじ
テスト駆動開発
テスト駆動開発ってすごい深い概念で、詳しく説明をすると本が一冊出来ちゃうぐらいな内容ですが、私から簡単に一言で伝えるとすると、
コードエラーが出るテストコードをはじめに書いて、そのテストコードのコードエラーをなくしながらプログラムを完成させる開発手法になります。
ポイントなのは、 はじめに書いたテストコードをエラーにすること。
これをやらないと、テストコードに文法的なエラーがあって、本編のコードが正しく動いているのにテストコードが正しく実行されていない可能性が出てくるからです。
メリットとデメリット
概念を聞くと、メリットとデメリットがイメージ出来ない可能性があるので、少し解説していきたいと思います。
メリット
- プログラマーがよく眠れるようになる
- コード変更がしやすくなる
- テストされた領域が理解できる
- ドキュメント代わりになる
デメリット
- 開発規模が小さいと費用対効果が弱い
上記を見ていただいたら、メリットが多いのがわかります。プログラマーが常にコードを正しく書けるわけでもないので、テストコードで事前にバグの混入を予防することがでます。
また、過去に書いたコードや、他人が書いたコードを読む時に、どんなアルゴリズムを使ってコードされているかをテストコードからサンプルコードのように見ることで中身の把握がしやすくなります。
また仕様変更が起きた場合に、コードの一部を変更した後、テストコードがすでに用意されているので、コード変更前後でのコードの振る舞いを確認することが出来ます。
逆にデメリットとしては、開発規模が小さい場合、例えばコード行数が短い場合ほど、テストコード量が費用対効果として悪くなります。
しかし、コードを書く以上、テストは必須項目だし、個人的にはテスト駆動開発は必須作法と思っております。
勉強の仕方
私は、テスト駆動開発というタイトルの参考書をAmazonで購入しましたが、概要的な説明が多く、コードを書いている側としては、もっとリアルな体験をしたいと思って困った経験があります。
もちろん、その参考書も素晴らしい内容であるのは事実ですが。
私のオススメする勉強教材として、Udemyで公開されている下記の動画です。
この動画は、本当にオススメです。私は、3回見ました。
C#での開発例となっていますが、この考え方はどのプログラミング言語にも通じる考え方で私もC#を知りませんでしたが、なるほどと何回思ったことか。
Udemyでは、新規登録者対象として、講座費用の割引、30日間返金保証もあるります。気になるトピックで検索してもらえれば、この動画以外にもたくさんの講座がありますので、他にも気になる講座も見つかるかもしれません。
個人的には、上記動画だけもいいと思いますが、テスト駆動開発の参考書も下記にリンクしておきます。参考にしてください。