×
ソフトウェア開発管理技術
リファクタリングを安全に行うための大前提は、「十分な自動テスト(ユニットテストなど)」が存在することです。テストがない状態でコードを書き換えることは、仕様を意図せず崩してしまう(デグレを発生させる)リスクが極めて高く、単なる「あぶなっかしいコード改変」になってしまいます。リファクタリングでは、コードの悪さを示す「コードの不吉な匂い(Code Smells)」を検出し、それを定型的な修正パターン(カタログ)を用いて排除します。代表的な不吉な匂いとリファクタリング手法には、以下のようなものがあります。・重複したコード ➔ 「メソッドの抽出」を用いて共通化する。・巨大なクラスや長すぎるメソッド ➔ 責務ごとに「クラスの抽出」や「メソッドの分割」を行う。・意味の分からないマジックナンバー ➔ 「シンボリック定数の導入」により定数に明確な名前を与える。これらを一度に全て行うのではなく、小刻みにコードを書き換えては自動テストを実行し、常に「動く状態」を維持しながらリファクタリングを進めることが技術的なルールです。

試験でのポイント