後編 Visual Studio 2017のリファクタリング機能特集:Visual Studioで始めるリファクタリング(1/4 ページ)

変数レベル/メソッドレベル/型レベルでのリファクタリングを支援するために、Visual Studio 2017が提供している機能を取り上げる。

» 2017年08月16日 05時00分 公開
[山本康彦BluewaterSoft/Microsoft MVP for Windows Development]
「特集:Visual Studioで始めるリファクタリング」のインデックス

連載目次

 本特集では前後編にわたってリファクタリングとVisual Studio 2017(以降、VS 2017)のサポート機能について解説していく。

 前編では、リファクタリングとは「ソフトウェアの外部の振る舞いを保ったままで、内部の構造を改善していく」ことであるという定義を再確認し、外部の振る舞いを変えないと信用できるツールを使う利点を述べた。今回は、そのツールとして、Visual Studio 2017(以降、VS 2017)のリファクタリングサポート機能を解説する。本稿で紹介する機能は、無償のVS 2017 Communityエディションのものだ。

 なお、VS 2017がサポートしている機能の中で「名前の変更」については、その操作方法も含めて前編の最後で詳しく紹介しているので、そちらをご覧いただきたい。また、本稿に登場するリファクタリングの名前は、二重カギかっこ(『』)で囲ったものはマーチン・ファウラー著「新装版リファクタリング」(ISBN978-4274050190、2014年発行)によるもの、その後ろの丸かっこ内はマーチン・ファウラー氏のWebサイト「Catalog of Refactorings」(英語)によるものだ。リファクタリングの内容について詳しく知りたいときは、それらの本やWebサイトを参照してほしい。

VS 2017のリファクタリングサポート機能の使い方

 これから紹介するリファクタリングサポート機能の操作方法は、どれもほぼ同じだ。リファクタリングの対象とする部分を指定してから[Ctrl]+[.]キーを押し、リファクタリング方法を選択して[Enter]キーを押す。変数などが自動生成された場合は、その変数名などをリネームして完了である(次の画像)。

対象を指定し、[Ctrl]+[.]キーを押す
対象を指定し、[Ctrl]+[.]キーを押す
ここで使えるサポート機能が一覧される。カーソルキーなどで機能を選ぶ
ここで使えるサポート機能が一覧される。カーソルキーなどで機能を選ぶ
リファクタリングサポート機能を選んだら、[Enter]キー
リファクタリングサポート機能を選んだら、[Enter]キー
仮の名前でリファクタリングされ、名前の変更機能が有効になる
仮の名前でリファクタリングされ、名前の変更機能が有効になる
リネームして、リファクタリング完了
リネームして、リファクタリング完了

リファクタリングサポート機能の使い方(VS 2017 Communityエディション)
これは『メソッドの抽出』(Extract Method)の一種である『条件記述の分解』(Decompose Conditional)リファクタリングの最初のステップの例である。
1番目: まず、リファクタリングの対象にする部分を指定する(ここでは、条件式「n % 3 == 0」)。対象が1語だけの場合は、その中にカーソルを置くだけでもよい。それ以外の場合は、対象範囲を選択状態にする。次に、[Ctrl]+[.]キーを押すなどして、リファクタリングサポート機能を呼び出す。
2番目: 指定した部分に適用できるサポート機能が一覧される。右側には、そのリファクタリングの結果が示されている。赤色の部分が削除され、緑色の部分が追加されることを示している。複数の候補が表示された場合は、カーソルキーなどで切り替える(マウスの場合はホバーさせて選ぶ。クリックすると確定してしまうので注意)。
3番目: [Enter]キーかマウスクリックで、サポート機能が実行される。
4番目: リファクタリングが実行され、新しいメソッドや変数が生成された場合には、仮の名前が付けられる。仮の名前が生成されたときは、引き続き「名前の変更」機能が起動するので、新しい名前を入力していく(前編の3ページ目を参照)。
5番目: 名前を書き換えて[Enter]キーを押したら、完了だ。行頭のマークが緑色になっていることから、変更後のファイルは保存されていると分かる。


 なお、[Ctrl]+[.]キーを押す代わりに、次のようにしてもリファクタリングサポート機能を呼び出せる。

  • 行頭に表示される電球アイコンをクリックする
  • 指定した部分を右クリックして(または[Alt]+[Enter]キーを押して)、[クイック アクションとリファクタリング]を選ぶ

 また、実行したい機能が分かっているときは、対象を指定してからメニューバーの[編集]−[リファクター]を使ってもよい(ただし、全ての機能を呼び出せるわけではない)。

 まずは変数レベルのリファクタリングに対して、VS 2017が提供している機能を見てみよう。

       1|2|3|4 次のページへ

Copyright© Digital Advantage Corp. All Rights Reserved.

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。