雑ノート(仮)

適当なメモ。

私向けの本じゃありませんでした。:レガシーコード改善ガイド感想

レガシーコード改善ガイド

レガシーコード改善ガイド

本中のテクニック、所々の感想などをちょこちょこ八月くらいから書き溜めていましたが、ここで結論を投下。

レガシーコード改善ガイドを読み始めた。 - 雑ノート(仮)

接合部と許容点 - 雑ノート(仮)

時間がないときの機能追加(スプラウト/ラップ) - 雑ノート(仮)

仕様化テストについて - 雑ノート(仮)

わけわからんコードにはとりあえず影響スケッチ。 - 雑ノート(仮)

テストのためだけのコード変更は許されるのか? - 雑ノート(仮)

テストの自動化ありき

この本はレガシーシステムのメンテナンス方法(改善方法)をざっくり説明したあと、Q&A式でノウハウを共有するスタイルになっている。

この本には大きくわけて

の4つがかかれているが、テストコードを書かない場合は下2つは読む意味があまりない。 QA形式の箇所は「XXで困っています」といったものが多いが、気になったのはテストを導入していない人に対するメッセージが何もないこと。

どうやらこれからテストを導入する人々はサポート外のようだ。

そもそも門前払い

この本はレガシー化したシステムにテストコードという武器を使って徹底的にリファクタリングしていきレガシーシステムを治療=改善していくようなビジョンがある。

  • 動いているものは絶対触らない
  • リファクタリングは行わない
  • バグは言われたものだけ直す

上記のような、保守方針がレガシーシステムの治療ではなく延命や対症療法を行うような意識の低い連中は鼻っから想定読者にしていない。

結局そういう風にしか仕事しか回ってこない私のような人間向けに書かれた本ではないな。*1

前向きに

希望の光はないことはない。色々周りの人に話しを聞いていると、別に納品要求になくてもjUnitでテストコードをわざわざ書くレガシーコードレジスタンスとでも言える人々がいるようだ。*2*3 というより普通のプログラマーからはテストを書くのは当たり前、といった態度さえ感じるが。

仕事はそういうもんだと割り切って、普段の取り組みからちょっとづつ変えていけばいいと思う。

前向きに、前向きに・・・

*1:私には編集して祈ることしかできない

*2:JavaならタダでJUnitが使えるから色々できるんだけど

*3:vbでもnUnitという.NET向けのテスト環境があるみたいだけど、フリーソフトなど勝手に入れられない現場だと困る