Mukai Systems

いつリファクタリングすればいいのか?——「Tidy First?」

Description

本書はTidy(整頓)が意味するように、リファクタリングについて焦点をあてたものである。あのXPのKent Beckが書いたというので発刊当時話題になっていた。

第Ⅰ部では、以下に示すような広く受け入れられているリファクタリングのテクニックが列挙される。どれも教科書的な内容で、真新しさはない。

第Ⅱ部から、内容よりもレトリックに気が散ってしまう。何やら雲行きが怪しい。

第Ⅲ部では、「今日の1ドルと明日の1ドルはどっちが価値があるのか?」とかコールオプションやディスカウントキャッシュフローなどといった話題になる。

経済を比喩にしつつ、「いつリファクタリングを行うべきなのか?」という問いに答えようとするのは斬新ではあるかもしれないけど、その結論はこう。

先に整頓すべきか? おそらく答えはイエスだろう。ほどほどに、あなたにはその価値がある。
-- P118 33章 結論

えー!

ちょっと風呂敷を広げすぎたのでは…?

Conclusion

本書はレトリックやKent Beckの哲学等が占める割合が多く、100ページ強からなる物理的な薄さがあいまって、中身がほとんどないように感じてしまう。

ソフトウェア開発というのは理論と実践がしばしば異なる代表的な分野だと理解している。だからこそ、経験主義に基づいて、「先に整頓したほうがよいことが多い。」という結論を述べるのは大いに結構だと思うのだが、その正当性を経済の比喩を用いて主張する意味はないよね? だって、経験主義の根拠って経験だから。

この本を読んでる時間があったら、プログラムを読み書きしている方が有意義。Kent Beckが主張する経験主義的ソフトウェア設計は、まさに経験によって得られた知見なのだから。

肯定的レビューが大半を占めていたので買ってみたけど大失敗。Kent Beck先生が書いたというので、みんな忖度しているのだろうか。

全体的に消化不良の一冊だった。

More info