『Tidy First?』の感想
はじめに
RSGT2025の帰り際に参加したジャンケン大会にて、『Tidy First?』のサイン本をいただきました!少し時間が経ってしまったのですが、印象に残った箇所の感想をまとめていきます。
※グーで勝ったので、タイトルの絵文字を✊にしました
感想
全体
「tidy」は日本語で「整頓する」の意味。コードを整頓する方法については、わりと基礎的な内容だった。整頓を「どれくらい」「いつ」やるのかについて、時間価値とオプションで説明しているのが新鮮で面白かった。
7章 変数宣言と初期化を一緒の場所に移動する
新卒でC++を書いている時に「変数宣言は先頭にまとめること」と言われたのを思い出した。先頭に宣言する背景はなんだっけ?と調べてみたら、以下のブログにわかりやすくまとまっていた。
13章 ひとかたまり
コードを書くよりもコードを読んで理解する方がコストがかかる、という点はわかりみが深い。読んで理解しやすいこと、とても大事。
16章 分けて整頓する
構造の変更と振る舞いの変更を分けるかどうかの話。プルリクエストのサイズは小さくしたいので、構造の変更と振る舞いの変更は分けたい派。ペアプロ・モブプロなら、ガッとやっちゃうこともある。
21章 先に整頓、あとに整頓、改めて整頓、整頓しない
整頓するタイミングの4パターンについて書かれていた。現実では改めて整頓しようと思っていても整頓されないケースが多く、先に整頓しておくべきと思いがち。でも本当に「改めて整理」する時間がないのだっけ?ということを考えさせられた。
24章 経済性:時間価値とオプショナリティ
時間価値(Time Value of Money, TVM)は以下のサイトがわかりやすかった。
25章 明日の1ドルより今日の1ドル
時間価値の観点で考えると、先に振る舞いを変更して、後から構造を変更する(=整頓する)方が価値が高いことがある、という話。なるほどなーと思った。
体感的には、先に整頓する方がトータルのコストを抑えられる気がするけど、「時間価値の観点で考える」ことが大事だなと思った。
26章 オプション
何度か読み返したが、26章は理解が追いついていない。オプションの概念自体は理解できるが、それをソフトウェア開発に持ち込んだ時にどうなるのか?の具体的なイメージが湧いていない。
SaaSにおいては、以下の整理になるのかな?と思ったが、少し違う気がしている。きちんと言語化できていない。
- 「将来的にxxができるようになります」ということに価値がある
- 「xx」が提供する価値の不確実性が高いほど、先に整頓するインセンティブが働く
あと「ゴルディロックス」って単語は初めて聞いた。
27章 オプション vs キャッシュフロー
オプションの観点では先に整頓する方がよく、キャッシュフローの観点では後に整頓するのがよい。その上で、どのようにバランスを取るのか?について、コストを軸に判断することが書かれていた。ともすると整頓を優先したくなるので、インセンティブを意識するというのはとても大事だなと思った。
30章 コンスタンチンの等価性
ソフトウェア開発コストの大半がメンテナンスに費やされているということは、RSGT2025 Day1のKeynoteでも話が挙がっていた。メンテナンスの割合はなるべく抑えたいところ。
33章 結論
シリーズの続刊が予定されているとのこと。楽しみ🥰
Discussion