レガシーコード改善ガイド の商品レビュー
レガシーコードと戦う人のためのバイブルというべき一冊。読みながら、「あ、こういう手があったか!」と思わず膝を叩いてしまうことが多く、非常に勉強になった。 文中のコード例のほとんどは、Java、C++だが、未経験者でも他のオブジェクト指向言語を齧っていれば、だいたい理解できるので...
レガシーコードと戦う人のためのバイブルというべき一冊。読みながら、「あ、こういう手があったか!」と思わず膝を叩いてしまうことが多く、非常に勉強になった。 文中のコード例のほとんどは、Java、C++だが、未経験者でも他のオブジェクト指向言語を齧っていれば、だいたい理解できるのではないかと思う。 どうしていいか分からないコードの前で頭を抱えているプログラマに知恵と勇気を与えてくれる。オススメです。
Posted by
自分が必要としていたのはまさしくこの様な本かも知れない。 単体テストの無いレガシーコードをどうやって安全に改修していくのか、具体例とともにさまざまな手法を提示してくれる。
Posted by
ケースごとにトピックで構成されており、リファレンス的にも今後も使えると思う。期待していた通りの内容と質だったと思う。 リファクタリングする基準などピンと来るところが多々あり、記載されているサンプルコードがすごい參考になった。 レガシーコードとは書き方や構成の古さではなく、テスト...
ケースごとにトピックで構成されており、リファレンス的にも今後も使えると思う。期待していた通りの内容と質だったと思う。 リファクタリングする基準などピンと来るところが多々あり、記載されているサンプルコードがすごい參考になった。 レガシーコードとは書き方や構成の古さではなく、テストのないコードと言っているところがすごい! テストがあればコードを変更するリスクと手間が省けるということは認識しているので、自分もどんどんテストを書いていこうと改めて認識できた。
Posted by
オブジェクト指向やデザパタの理想的な設計じゃなくて、現場の状態を加味したうえで、コードをテストで守れるを目指すのは現実的だと感じた。 また試行的リファクタリングによる設計理解や影響スケッチってのは新しい業務になったときに使えそうだと思った。 C/C++の勉強にもなったかな。 理解...
オブジェクト指向やデザパタの理想的な設計じゃなくて、現場の状態を加味したうえで、コードをテストで守れるを目指すのは現実的だと感じた。 また試行的リファクタリングによる設計理解や影響スケッチってのは新しい業務になったときに使えそうだと思った。 C/C++の勉強にもなったかな。 理解できず読み飛ばしてしまったところもあるのでまたどこかのタイミングで読み直したい
Posted by
テストがないコード=レガシーコードと定義して、既存のコードに対してテストを書きやすいようにするべきことをまとめた一冊。 リファクタリングの知識がないと読み解くのは難しいかな。副読書として「リファクタリング」を読まれることをおすすめします。 リファクタリングの知識をフル導入して...
テストがないコード=レガシーコードと定義して、既存のコードに対してテストを書きやすいようにするべきことをまとめた一冊。 リファクタリングの知識がないと読み解くのは難しいかな。副読書として「リファクタリング」を読まれることをおすすめします。 リファクタリングの知識をフル導入して、既存のコードをどうやって変更してテストしやすいように改善するかが本書のポイント。 JavaとC++のコード例が大半なのですが、C++をほとんど忘れかけている自分にとってはC++の部分は読むの辛かったなぁ。例の都合上、C++でないといけないものもあったんだけど、Javaにできなかったかなぁと思う部分もあったので、☆は4つで。
Posted by
これも単体テストをちゃんと書けるようになってから読むべきだった。 いろいろ勉強しようとあせりすぎて、順番を見失っていた感がある。
Posted by
2ヶ月前に途中まで書いたコードの続きを最近覚えたTDDでと思ったら、テストするためにはリファクタリングが必要で、リファクタリングにはテストが必要でとデッドロックしたので読んだ。 リファクタリング発展編。アンチパターン的な。でも人ごとではなく身の回りで常に見かける現実なのでお役立...
2ヶ月前に途中まで書いたコードの続きを最近覚えたTDDでと思ったら、テストするためにはリファクタリングが必要で、リファクタリングにはテストが必要でとデッドロックしたので読んだ。 リファクタリング発展編。アンチパターン的な。でも人ごとではなく身の回りで常に見かける現実なのでお役立ち度は高い。自動テストがない状態のコードをどのようにテスト可能、リファクタリング可能な状態に持っていくか。テストのないコードを変更することが如何に大変かの例をこれでもかと見せられることでテストの重要性をヒシヒシと感じる本。サンプルはJava7割、C/C++3割。 自動テストがあれば素早いフィードバックが得られる。すると、間違いにすぐに気づいて手戻りが減る、デグレードを起こさない安心が得られる。直接的な効果だけでなく、対象コードについての記憶が残っているうちに対処できるので思い出す手間が不要だし、手動確認による繰り返し作業がなくなって退屈しないし、何より結果がすぐ出て頻繁に達成感が得られるのは楽しい、と良いこと尽くめ。 最近はJMockitとかのモックフレームワークでバイトコードから差し替えられるのでレガシーコードのジレンマは当時ほどではないのかもしれない。
Posted by
レガシーコードをいかにHackしてテストケースの作成やリファクタリングを行うかの本。 JavaやC++はともかくCでリンカを変えて本番コードからテスト用のモックを参照するというのは目から鱗でした。 既に存在するレガシーコードに対してのアプローチを前提に書かれているため大抵の現場で...
レガシーコードをいかにHackしてテストケースの作成やリファクタリングを行うかの本。 JavaやC++はともかくCでリンカを変えて本番コードからテスト用のモックを参照するというのは目から鱗でした。 既に存在するレガシーコードに対してのアプローチを前提に書かれているため大抵の現場で役に立つと思われますw(サンプルコードはJava/C++/Cが中心だけど別言語でもたぶん置き換えは可能) リファクタリングに伴う影響の調査 ↓ 本番コードをテストコードで保護&本番コードに依存性を注入しテストしやすくする ↓ 本番コードを修正 といった石橋を叩きすぎて渡るというポリシーが素敵。プロなら品質を担保するためにこれくらいやるべきですよねw ただし内容は非常に難しいので、最低でも「リファクタリング プログラムの体質改善テクニック」や「クリーンコード」を読んでいることが前提かと。 http://booklog.jp/users/sue445/archives/4894712288 http://booklog.jp/users/sue445/archives/4048676881 読み終わった本の中で仕事中にもすぐ手にとりたい物は机の上に立てているのですが、この本は表紙の「テストがないコードはレガシーコードだ!」が非常にショッキングなため机の上にみんなに表紙が見えるように置いていますw
Posted by
本書が、腑に落ちるところの多い良書であることは、他所のレビュで明らかであるが。個人的に、まさに今問題に感じていることが指摘されていたため、感動すら覚えた。 私の目に触れるところの運用の現場では、なんの保証もない、「慎重な手順」だけを頼りに保守をつづけて、度々失敗を繰り返している。...
本書が、腑に落ちるところの多い良書であることは、他所のレビュで明らかであるが。個人的に、まさに今問題に感じていることが指摘されていたため、感動すら覚えた。 私の目に触れるところの運用の現場では、なんの保証もない、「慎重な手順」だけを頼りに保守をつづけて、度々失敗を繰り返している。彼らはコード変更を忌み嫌い、誰もリファクタリングしようとは考えず、ただ「前例教」の原理主義を貫いている。 彼らには是非この本を読んでリファクタリングとテストコードの重要性を理解し、今の状態がいかに狂気に満ちているのか気付いて欲しい。 ある人は『狂気とは、同じことを繰り返しながら、違う結果を望むこと』であると言ったという。彼らは今まさにそんな状態である。
Posted by
リファクタリングの素晴らしさを理解したあと自分の職場で実践しようにも、非常にコードが古くて断念した人にオススメの本。 テストの書かれていないコードをレガシーコードと定義し、全くテストされていないコードをどのようにテストクラスを書いていくのか、どのようにリファクタリングしていくのか...
リファクタリングの素晴らしさを理解したあと自分の職場で実践しようにも、非常にコードが古くて断念した人にオススメの本。 テストの書かれていないコードをレガシーコードと定義し、全くテストされていないコードをどのようにテストクラスを書いていくのか、どのようにリファクタリングしていくのかを実践的に書いてある。 この本のお陰で、Fortranのコードに対してテストを書く勇気が湧いた。
Posted by