msfukuiの日記

おおまさのみみはそらのみみ。

TDD by example for TypeScript をやってみた

VSCode で書く TypeScript をもう少し手に馴染ませたいなと思い、手元にあった書籍「テスト駆動開発」を TypeScript で写経してみました。

github.com

shop.ohmsha.co.jp

もともと初版も持っていて、XP に興味を持っていたかなり以前に一通り読んではいたのですが、改めて読み進めてみるとほぼ頭に入っていなかったことに気がつきました。書籍の中でも書かれていますが、コードを書いてみて初めて気がつくことがいっぱいあると改めて実感します。

書いていてただただ楽しい。最初の commit が 12/8 なので一ヶ月ほどちょこちょこと戯れていた感じです。最後は帰省先の実家で子どもたちが遊んでいる隣で、一緒に楽しい道具で遊んでいる気分でした。終わるのが勿体無い気分。

これも書籍内に書かれていたことですが、まるで隣で Kent Beck さんがペアプロしてくれている気分で読み進めることができ、凄腕プログラマーの頭の中を少しだけ見せてもらった気になれました。

次は積まれている「プログラムの数学」を読んだ後、アルゴリズム本か、もうちょっと実用的に Vue.js の本に進みたいなって思っています。

www.hyuki.com

追記(2019-01-04)

読んでいて印象に残ったフレーズがあった。「第 32 章 TDD を身につける」の「 TDD は誰のものか」からの一節。

いま「素朴」と言ったが、そこにはいささか誇張が含まれている。素朴とは、きれいなコードさえ書ければ成功するという考え方だ。実際には、優れたエンジニアリングがプロジェクトの成功に占める割合は 20% といったところだろう。お粗末なエンジニアリングはプロジェクトを間違いなく破綻させるが、普通のエンジニアリングであっても、残りの 80% がしっかりしている限り、プロジェクトを成功へ導きうる。

仕事として少しでもコードを書いていると、とても実感として意識することだと思う。プロジェクトは、たくさんのプロフェッショナルな人たちが、目指すべき一つの価値を練り上げていく場だと思うし、その中で自分は、他の人たちの考え方・やり方を尊重しながら、プロとしてより優れたエンジニアリングを提供し続けられる人でありたい。