『実践テスト駆動開発~テストに導かれてオブジェクト指向ソフトウェアを育てる~』を読みながら

タイトルの本(原題 "Growing-Object-Oriented Software, Guided by Tests"、通称GOOSを読みながらのツイートをピックアップ。
0
鏡双司 | Skeb Open @SO_C

『実践テスト駆動開発』を第11章まで読んだ。最初の〈動くスケルトン〉ができたところ。こんなんでいいの? と思うくらいミニマム。でも、ここまで来るのも大変というのもよく分かる。

2015-07-06 21:18:49
鏡双司 | Skeb Open @SO_C

昨日から『実践テスト駆動開発』再開。「外側から内側へ向かう開発」は、ソフトウェア的な気がする。ハードだと外から先には組み立てられなさそうだから。

2015-07-07 08:52:48
鏡双司 | Skeb Open @SO_C

『実践テスト駆動開発』の13章を読んだ。「オブジェクト指向エクササイズ」のルールを思い出す。

2015-07-08 09:29:19
鏡双司 | Skeb Open @SO_C

「コレクションをカプセル化する」は「ファーストクラスコレクション」っぽい。

2015-07-08 09:33:40
鏡双司 | Skeb Open @SO_C

『実践テスト駆動開発』のインターフェイスとプロトコルの区別、便利だなあ。APIについての議論をスッキリと理解しやすい。語が一般的なのが璧に瑕だが。

2015-07-08 13:18:30
鏡双司 | Skeb Open @SO_C

『実践テスト駆動開発』の第14章でついに状態を持つようになった。

2015-07-10 08:55:43
鏡双司 | Skeb Open @SO_C

『実践テスト駆動開発』の「ANDやOR、BUTは禁止」は『オブジェクト指向エクササイズ』に入っていても違和感ないくらい厳しく見える。オブジェクトの責任を説明するのに「~して、~する」みたいな文節ができると、単一責任になっていない可能性が高いのはその通りだけれど。

2015-07-17 08:22:33
鏡双司 | Skeb Open @SO_C

考えが甘いのか。うまく抽象化して分割、レイヤー化するのが設計なんだから。

2015-07-17 08:23:55
鏡双司 | Skeb Open @SO_C

『実践テスト駆動開発』「「動いている」と「完了した」は別物」。そうなんだよなあ、この間には大きな隔たりがある。

2015-07-17 08:41:00
鏡双司 | Skeb Open @SO_C

『実践テスト駆動開発』、割と大きな変更も小さく分割すれば、安全に変更できるという感触が得られる。

2015-07-17 08:50:42
鏡双司 | Skeb Open @SO_C

『実践テスト駆動開発』、第18章「詳細を詰める」でようやくItemクラスが抽出された。自分だったら最初期に抽出していそう。エンドトゥーエンドの振る舞いから入るか、DOA的にエンティティから入るかのアプローチの違いか?

2015-07-17 09:00:29
鏡双司 | Skeb Open @SO_C

まさに今いるのが「取り組むドメインの主要概念にとって妥当な状態と遷移がどのようなものであるかが理解されていないという状況」。『実践テスト駆動開発』面白いなあ(この状況は面白くないが)。

2015-07-17 09:12:01
鏡双司 | Skeb Open @SO_C

『実践テスト駆動開発』のNoteオブジェクトのシェルゲームに思い当たる節がある。手続き指向の人と話すとオブジェクト指向寄りの考えがなかなか伝わらない。

2015-07-21 12:50:46
鏡双司 | Skeb Open @SO_C

『実践テスト駆動開発』に「この技術を習得する上では、要件をインクリメンタルなスライスに分割する方法を学ぶ必要がある」ってさらっと書いてあるけれど、これも難しいよなぁ。

2015-07-21 12:55:25
鏡双司 | Skeb Open @SO_C

『実践テスト駆動開発』の「意図を表現するための細かいメソッド」(ヘルパーメソッド)って、『実装パターン』でもあったよなあ。呼び元が一カ所のこともあるってのが、メソッド化=共通化の固定観念を崩してくれた。

2015-07-21 12:58:36
鏡双司 | Skeb Open @SO_C

『実践テスト駆動開発』、ついに第IV部「持続可能なテスト駆動開発」に突入。楽しみだ。これが気になっていたのも、この本を買った動機なので。

2015-07-21 21:43:55
鏡双司 | Skeb Open @SO_C

というわけで第20章「テストの声を聴く」へ。何かスピリチュアルっぽかったり「ガイアが俺に~」っぽかったりで、腰が砕ける。けれど、Bad Smell然り感覚も大事だと思い直して真面目に読もう。

2015-07-21 21:47:55
鏡双司 | Skeb Open @SO_C

あ、xUTPのTest Smellsが参照されている。

2015-07-21 21:52:38
鏡双司 | Skeb Open @SO_C

『実践テスト駆動開発』から。「設計時の依存関係管理のまずさを開発者に回避させるようなユニットテストツールは、貴重なフィードバック元を無駄にしている」何でも簡単にできるってのも考え物だよなぁ。『API設計の極意』にも似た議論があったはず。あ、『CODE 2.0』でもあったっけ。

2015-07-21 22:02:11
鏡双司 | Skeb Open @SO_C

『実践テスト駆動開発』の「「この例外をどう処理すればいいからわからないから、とりあえずログを吐いて次に行く」病」が耳に痛い。つい最近、これを見過ごされてきて、テスト設計で期待値が分からない事態に……。

2015-07-21 22:11:52
鏡双司 | Skeb Open @SO_C

『実践テスト駆動開発』のコンポーネントとして抽出する変数の候補が使いやすそう。1. 常に同時に使われている。2. 生存期間が同じ。何となく感覚的に候補を探してから、後から生存期間の違いに気がついて、そこでようやく次の候補を考えることがあるけれど、こっちのが楽だし説明しやすい。

2015-07-22 08:56:16
鏡双司 | Skeb Open @SO_C

『実践テスト駆動開発』のTips「エクスペクテーションを少なくする」はTDD アンチパターンの「小姑」と対応していそう。 hyuki.com/yukiwiki/wiki.…

2015-07-22 09:07:00
鏡双司 | Skeb Open @SO_C

『実践テスト駆動開発』の第28章「テストの可読性」を読んでいる。「表現力を高めるためならソースの行数が増えてもよいと私たちは考えている」。この考えを周りに伝えるにはどうしたものか。

2015-07-24 08:35:58
鏡双司 | Skeb Open @SO_C

正誤表が結構派手だ。 / 実践テスト駆動開発 テストに導かれてオブジェクト指向ソフトウェアを育てる(和智右桂 髙木正弘 Steve Freeman Nat Pryce) | 翔泳社の本 shoeisha.co.jp/book/detail/97…

2015-07-24 08:52:43