見出し画像

mixiのTDDチャレンジ#5に参加してきた

友達誘って申し込んで抽選で当たったので参加できました。2人でペアプロしながら課題を解決していく感じです。1人でも応募可能です。

今回はオンラインで行い、RemoというWEB会議システムを使ってコミュニケーションを取りました。しかし、なぜか私だけ音は聞こえるがカメラとマイクが使えず、大変な思いをしました。

今回はRubyを使って課題をやりましたが、私のチーム2人ともほぼRuby未経験でしたが、なんとかなりましたw

Git Hubについては基本の部分を分かっていればいいと思います。(私の他のGit Hubの記事にある作業がほとんどです)


1、TDDとは

テスト駆動開発(Test-Driven Development: TDD)は仕様書に基づきテストをかいてから実装していく開発手法です。テスト→実装→テスト…のようにテストが通るまで実装をしていきます。

テストを作るときの注意点は境界を意識するということ。境界とは分岐する境目のことです。例えばpythonで下のような実装があった場合、どんなテストを書くといいでしょうか?

if your_age => 20:
    print("あなたは成人です")
else:
    print("あなたは未成年です")

今回の場合境界は20と21ですね

2、TDDのいいところ

タスクを1づつ消化できるので、作りたいもののゴールが分かりやすく必要な機能を見落とさない点がいいなと思いました。また、テストがあるからリファクタリングが安心してできるし、完成した自分のコードに自信ができる点もいいですね。

mixiの社員の方によると、実際の開発現場では長いソースコードを理解するのに時間がかかるので、そのメソッドがどんな動きをするのかがテストから理解することができるのもTDDの利点らしいです。

3、まとめ

普段私はDjangoをつかってWEB開発しているが、他の言語も挑戦して知見を広げた方がいいとアドバイスされたので、GoとかRuby on Railsに挑戦してみようと思いました。

時間が13時から20時くらいになるので少しつまめるもの(お菓子、おにぎり)を事前に用意しておくとよいと思いますw

最後にカメラやマイクが使えなくてもフォローしてくださったmixiの方々に感謝しております。Rubyを今回使って自分の中でRubyに対する障壁がなくなったように感じました。これからも色んなことに挑戦していきたいです。


この記事が気に入ったらサポートをしてみませんか?