LoginSignup
0
1

More than 3 years have passed since last update.

オブジェクト指向でリファクタリングを行う上で必要な知識

Last updated at Posted at 2021-01-10

はじめに

Javaでリファクタリングを行う上で必要と思われることを随時追加していく。
参考にした書籍は以下。

意識しておくべき原則

前提知識

  • OOP(オブジェクト指向プログラミング)の基礎的な理解
    • クラスとインスタンスの関係
    • アクセス修飾子
    • 継承(抽象クラスとインタフェース)
    • オーバーライド、オーバーロード
    • ローカル変数・インスタンス変数・static変数(クラス変数)

リファクタリングの定義

  • 外部から見たプログラムの振る舞いを変えずに、プログラム内部の構造を改善すること

テストについて

  • 必ずユニットテスト(unit test)が必要

ユニットテストの定義

  • 開発者自身が作成すること
  • コード(通常はクラスやメソッドの単位)を対象としていること
  • 自動化されていること

リファクタリングの目的

  • バグを見つけやすくする
  • 機能追加しやすくする
  • レビューしやすくする

コツ

  • 感覚で修正するのではなく、リファクタリングカタログに従う
  • ステップ・バイ・ステップ(一度に一つずつ)
  • まず不吉な匂いをかぎ取ること

不吉な匂い(リファクタリングの可能性)

不吉な匂いとは、リファクタリングを必要としているコードの部分のこと。
プログラムの中で「理解しにくい」「修正しにくい」「拡張しにくい」部分を感覚的に感じるコツを匂いに例えたもの。

リファクタリングの可能性を示唆する「不吉な匂い」一覧 参照

リファクタリング・カタログ

マーチン・ファウラー著「Refactoring(洋書)」
が所属するThoughtWorks社が公開している、リファクタリングの方法をカタログ化したもの
- https://refactoring.com/catalog/

頻出のカタログを一部抜粋したもの
リファクタリング・カタログ(抜粋) 参照

0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1