あっさりと

ソフトウェアや技術話など諸々

リファクタリング―既存のコードを安全に改善する― を読んで

はじめに

継続的にソフトウェアを改善するにはリファクタリングは欠かせないタスクである。
自分でも意識してリファクタリング作業は行っているが改めて体系的に纏まった情報を確認する事にした。

全体の感想

リファクタリングは多岐にわたる条件や構成の元で行う場合が多く端的な説明が難しいと思われるが、数ページ単位にまとめられた構成でリファクタリング技法が紹介されておりシンプルに理解しやすい。

リファクタリング技法は以下の様に構成されており全体から詳細へと読み進める事が出来る。

クラス図 or 概要コード
 ↓
動機
 ↓
手順説明
 ↓
コード例

その他にはリファクタリングを実施すべき時を知らせる”コードの不吉な臭い”や、開発現場でのリファクタリングに対する動機付け等についても記述されている。

おすすめ読者層

  • リファクタリングスキルを向上させたい人

  • 効果的な指摘をしてもらえるレビュアーがいない人

  • 非効率なコードに溺れているが改善方法が思いつかない人

  • オブジェクト指向の基礎に触れたので次のステップに進みたい人

印象に残った言葉

雑感

  • 対になるような内容*1の技法がそれぞれ紹介されているので変更部分の戻し方も同時に学べる

  • 1,2割くらいはJava依存の内容*2

  • テストコードは存在する前提だよね*3

  • テストコードのリファクタリング手法も知りたい

  • IDEリファクタリング機能も使いこなしていきたい

新装版 リファクタリング―既存のコードを安全に改善する― (OBJECT TECHNOLOGY SERIES)

新装版 リファクタリング―既存のコードを安全に改善する― (OBJECT TECHNOLOGY SERIES)

*1:例えば) 集約⇔インライン化、メソッドのスーパークラスへの引き上げ⇔サブクラスへの引き下げ

*2:Javaを深く理解していないと本書を読めないわけでは無い

*3:そうだよね