Java言語で学ぶリファクタリング入門をEclipseのリファクタリング機能使って練習する

id:t-wadaさんの実演! テスト駆動開発実演! リファクタリングで紹介されている動画を見て、Eclipseリファクタリング機能を使いこなすことで、効率的で硬いコーディングができることに感動し、結城さんの

Java言語で学ぶリファクタリング入門

Java言語で学ぶリファクタリング入門

も購入したので、せっかくだから、本書のリファクタリングEclipseの機能をなるべく使って練習してみようと思い立ちました。

というわけで、まずは第1章から。

シンボリック定数によるマジックナンバーの置き換え

手順
  1. Robotクラスのマジックナンバー(「0」)を選択し、[Alt + Shift + t]でリファクタリングメニューを表示する。
  2. 続けて[a](Exstract Constant)を押下する。
  3. 定数名として「COMMAND_WALK」を入力し、修飾子は「public」をチェックする。
  4. 「Preview」を押下し、リファクタリング結果を確認する
  5. 「OK」を押下する。
  6. 他のマジックナンバーも同様の操作を行う

全てEclipseの機能でリファクタリングができました。

タイプコードをクラスで置き換える(enum編)

手順
  1. Robotクラスのorderメソッドの引き数であるcommandの型をintからRobot.Commandに変更する。
  2. Robot.Commandでエラーが出るので、[Ctrl + 1]でクイックフィックスを表示し、「Create enum 'Command' in type 'Robot'」を選択する。
  3. CommandにWALK, STOP, JUMPを定義する。
  4. orderメソッド内をCommand.WALK, Command.STOP, Command.JUMPに置き換える。

完全に自動化とは行きませんが、クイックフィックスからenumを作れる所がGoodです。