SaezuriTwitterで#devsumiおっててちょろりとTDDの話を見かけたときに深く感銘を受けました。僕は全くスキルのないへなちょこプログラマの卵(まだへなちょこにすらなれていない)ですが、そういうひとほどテスト、特に単体テストを書くべきだと思う。理由はとっても簡単で、勉強になるから。副次的な理由でちょう簡単な間違いやバグをいれこまなくて良くなるというのもあるけど、メインは勉強になるからだなぁ。いまJSTQB(JSQTB?)の資格取るために適当な勉強をしているところなんだけど、テスト(レビュー含む)って教育の意味合いを含んでいるものが少なからずあって、まぁなんでかっつーと人の書いたコードや設計を理解しないとできないからなんだよね。レビューをされることで勉強になるだけではなく、することでもわかるようになることはとてもたくさんある。単体テストは第三者の書いたコードを読み、仕様を読み解き、設計の意図を理解し(隠蔽されててテストできねーとか言いながら)、というのが一気にできるのだ。こりゃなかなかない機会っすよ。僕も別にもう若くはない(職歴は短いが)けど未だに卵な訳で、これから先すーぱーはかーやすーぱーぷろぐらまーになれる予定はないと思うけれども、自分自身を成長させることはできるんだよね。テストは、一人でも始められる。賛同されなくても始められる。いつからでも始められる。ひどいレガシーコードが目の前にあっても修正することはできないかもしれないけれど、テストを書くことはできる。最初から全てを書くことはないのだ。出来るところから手をつけていき、一つ一つ成功するテストケースを書き上げていけば、最後には必ず整然とした動きの理解できるプログラムが出来上がる。それをたった一人で始めることができる。どんなにスキルがなくても、言語に対する知識がなくても、アルゴリズムや設計がわからなくても、レガシーコードはたくさんのことを僕に教えてくれる。こんがらがった醜いコードには数えきれない教訓と学ぶべき事柄が眠っている。テストを保守し、プログラムを守ろう。(1)はてなブログをはじめよう!still_nonameさんは、はてなブログを使っています。ブログを報告するスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。