どんな記事
- 新人エンジニアのサクッとアウトプット記事
- 具体的な内容(コード)というよりは"ざっくり"理解するのが目的
リファクタリングとは
- 既存のコードをふるまい(動き)を変えずに内部の設計をかえること
- 設計コストを小さくでき、保守や拡張の際の工数を減らせる。
- ”まとめたり””分けたり”することで分かり易い設計(コード)にするのが目的
コードのにおい
リファクタリングする際に直すべきコードを感覚で見つける必要がある。
その”感覚”を”センス・経験”のようなもので片づけず、兆候を一覧化したものが「コードのにおい」
代表例(ほんの一部)
アクセス修飾子 | アクセスできる範囲 | アクセスできる範囲 |
---|---|---|
重複したコード | 同じようなコードが複数個所に存在 | メソッド・クラスの抽出 |
長すぎるメソッド | メソッドが長くなりすぎている。 | メソッドの抽出、条件の分解 |
巨大なクラス | 大きすぎるクラス。責務が多すぎる | クラスの抽出、サブクラスの抽出、インターフェース |
どこを見ればわかる?
著書『リファクタリング』に記述されている