圧倒されずにTDDを習得する方法――小さなステップで確実に学ぶ
(本記事は、もともと筆者のニュースレター向けに執筆したものです。同様の記事をもっと読みたい方は、ぜひご登録ください。)
Railsコミュニティはテスト、特にTDD(テスト駆動開発)に強いこだわりを持っています。このテスト文化は、Railsの最も優れた点のひとつです。しかし、「テストを書かなければならない」「正しく書かなければならない」というプレッシャーは、初心者にとって大きな負担になることもあります。
これまでまったくテストを書いてこなかった環境から来た人にとって、TDDは特に難しく感じられるでしょう。TDDをきちんと行うために必要な知識を、ひとつずつ挙げてみてください。
- どの機能を実装したいのかを把握している必要がある
- 各機能のうち、どの部分をテストすべきかを見極められる必要がある
- テストツールの使い方を学ぶ必要がある
- それぞれの部分に対するテストコードの書き方を知っている必要がある
- 実装コードを見る前にテストを書く方法を知っている必要がある
- 「動作しそうな最もシンプルなもの」の書き方を知っている必要がある
- テストを使ってコードの設計を育てていく手法を身につける必要がある
こうして並べてみると、つまずかないほうが不思議なくらいです。ゼロの状態から一足飛びにTDDへ到達することは、事実上不可能だとわかります。では、どうすればいいのでしょうか? 圧倒されることなくTDDを学ぶには、何が必要なのでしょう?
タスクを分解してみよう!
不可能な課題に直面しているように感じたり、次に何をすればいいのかわからなくなったりしたときは、目標に少しでも近づけるような、もっと簡単に学べることを探してみましょう。
たとえば、RSpecでTDDを学びたい場合、次のように分解できます。
-
テストなしで、ある機能について試験的にコードを書いてみる。(機能を考え出し、実装する経験を積むため)
-
既存のコードを読み、さまざまな入力に対してコードがどこで壊れうるかを書き出してみる。(何をテストすべきか、どうテストするかを学ぶため)
-
Rubyに組み込まれているminitestを使って、既存のコードにテストを書いてみる。(TDDやRSpecを同時に学ばずに済むうえ、gemのインストールやRSpec環境の構築に悩まされることもなく、minitestと基本的なテストの書き方に集中できる)
-
minitestを使ってTDDでコードを書いてみる。(gemの依存関係やRSpecの学習に気を取られず、TDDそのものに集中できる。テストの書き方はすでにわかっているので、「先にテストを書く」ということだけを学べばよい)
-
RSpecを使ってTDDでコードを書いてみる。(TDDである程度練習を積んだあとなら、RSpecのセットアップやAPI、コミュニティの流儀の学習に専念できる)
これらはそれぞれ、個別に練習できるずっと小さなスキルです。まず最初のステップに集中して練習し、それができたら次のステップへ、という具合に進めていきましょう。RSpecでのTDDにいきなり飛び込むのではなく、そこへ向かって少しずつ「成長」していけばいいのです。
遠回りに見えるかもしれません。しかし、ゼロからTDDを一気に学ぼうとするよりも、各スキルはずっと早く身につきますし、次に役立つテスト手法が出てきたときにも、より良い土台の上に築いていけます。
一度にひとつのことに集中する
鍵となるのは、最後のステップへ一気に飛ぼうとせず、自分の快適ゾーンのすぐ外側にあることだけに集中して練習することです。これらのステップは、それぞれ単体でも価値があります。最初のステップだけで終わったとしても、得るものは必ずあります。しかも各ステップは互いにつながっているので、いろいろなことを一度に投げかけられるのではなく、ひとつのことにじっくり集中して学べます。そうすれば、圧倒されて挫折することなく学び続けられます。
このプロセスを進める中で、失敗してもいいと自分に許可を出しましょう。学んでいる途中なのだから、まったく問題ありません! 繰り返すうちに、ぐっと楽になります。継続的に、そして意識的に練習を重ね、すでに知っていることよりワンランク上を目指し続ければ、必ずたどり着けます。
-
Windows 10をパスワードなしで起動する3つの方法|自動サインインからパスワード削除まで
多くのユーザーは、第三者にファイルへ勝手にアクセスされないよう、PCにパスワードをかけています。しかし、そのPCを自分一人しか使わないのであれば、Windows 10をパスワードなしで起動できるようにしたほうが便利な場合もあります。毎回パスワードを入力する手間が省ける一方で、他の人にもPCを自由に使われるリスクが生まれるため、設定する際は十分注意しましょう。 Windows 10をパスワードなしで起動する方法は複数ありますが、いずれもログイン画面に表示されるパスワード入力を求める画面を解除するという同じ目的を果たします。パスワード入力画面を解除すれば、電源を入れた瞬間にデスクトップへ直接アクセ
-
Windows 10でパスワード入力を省略してログインする5つの方法
Windowsのログイン画面では、セキュリティ保護のためにパスワードの入力が求められます。これは非常に有効な仕組みですが、「毎回パスワードを入力するのが面倒」「自宅でしか使わないPCだから省略したい」といった理由から、パスワード入力をスキップしたいと考える方も少なくありません。 そこで本記事では、Windows 10にパスワードなしでログインするための具体的な設定方法を5つご紹介します。パスワード入力を省略できれば、電源投入からデスクトップが表示されるまでの時間を短縮でき、日々の操作がぐっと快適になります。 注意: パスワードを解除すると、第三者にPCを勝手に操作されたり、保存されたデータを盗