X
    Categories: 書評

ルール化されたリファクタリングパターンを紹介した本:『実践で学ぶ コード改善の極意』

AIによるコード生成が発達してきており、コード改善や設計方面に活路を見出すため色々と本を読んでいる。Amazonで目について以下の本を読んでみた。

リファクタリングについてかなり細かくルール化された方法を説く本。実際にステップバイステップでコードをリファクタリングしていっているので、本当に初学者に取っては写経することでリファクタリングを学べるだろう。しかし、ある程度経験のあるプログラマにとっては冗長すぎる部分が多い。

ルールの中にはメソッドを5行以内に収める、5行ルールというものもある。これは人によってはやりすぎと感じるだろうルールもあり、実際の開発現場で採用するべきかは賛否が別れるような気もする。

リファクタリングパターンの中で、実行順序を強制したい場合に、コンストラクタで実装するという考え方は、設計する際の一つの方法として考慮するべきだと感じた。

後半の章では、リファクタリングをどのように実際の現場で行なっていくべきかの心構え的な内容に触れられている。

P9 以下のようなツールを活用することをお勧めします。
・リファクタリングパターン(レシピのように、詳細で、ステップバイステップで、構造化されたもの)
・バージョン管理システム
・コンパイラ

P21 説明するほとんどのリファクタリングパターンとルールは、オブジェクトの合成(オブジェクトが他のオブジェクトへの参照を持つこと)を支援するために存在します。

P30 どのメソッドも5行を超えてはならないというシンプルなルールです。本書では、「5行にする」が最終的な目標となります。

P48 ルール:ifは最初だけにする

P94 (コードを共通化することについて) 残念ながら、この方法は欠点の方がはるかに大きいのです。コードを共通にするとプログラムのモジュール同士の関係を密接にしてしまいます。

P197 メソッドを呼び出す順番の決まりごとを順序制約と呼びます。コンストラクタは最初に呼び出さなくてはいけないので、この条件はなくなります。この手法は、特定の順序で何かをしなければならない場合に使用できます。このリファクタリングを「実行順序を強制する」と呼びます。

P271 (コードを追加することについて)恐怖は心理的な苦痛の一種です。前の章でも述べましたが、何かが苦痛なら、もっとやりましょう!何かが怖いなら、それが怖く無くなるまで、もっとやり続けるのです。

Hiro:
Related Post