ひとりでのアプリ開発 - fineの備忘録 -

ひとりでアプリ開発をするなかで起こったことや学んだことを書き溜めていきます

Visual Studio Code - リファクタリング

初めに

 リファクタリングとは、外部から見たときの挙動を変えずに、プログラムの内部構造を整理することです。本記事では、メソッドの抽出など Visual Studio Code にあるリファクタリングに関する機能を紹介します。

メソッドの抽出

 メソッドとして記述されていない部分を、メソッドとして抽出することができます。

void Start()
{
        float radius = 2;
        float area = Mathf.PI * radius * radius;
}

 メソッドにしたい部分を選択し、Ctrl + . を押すと、次のような表示が現れます。

 "メソッドを抽出する" を選択すると、メソッドとして、抽出されます。

void Start()
{
        NewMethod();
}

private static void NewMethod()
{
        float radius = 2;
        float area = Mathf.PI * radius * radius;
}

シンボルの名前の変更

 型名、メソッド名、変数などを一括で変更します。

 変更したい部分を選択し、F2 キーを押すと、次のように表示されます。

 ここで変更後のシンボル名を入力すると、シンボル名が一括で変更されます。


ローカル変数として抽出する

 名前がついていない変数に対して、変数名をつけ、抽出できます。

void Start()
{
        float edge = 3;
        float minArea = 4;
        if (edge * edge > minArea) //変数名がついていない部分
        {
            //処理
        }

        if (edge * edge > minArea) //変数名がついていない部分
        {
            //処理
        }
}

 ローカル変数として、抽出したい部分を選択し、Ctrl + . を押します。

 "ローカルとして導入します" を選択すると、ローカル変数として抽出されます。

 "すべての発生に対して..." の方を選択すると、同じ式である部分が一括で変換されます。


選択した型を同じ名前の別のファイルに移動

 同じファイルに複数の型を配置すると、これらの型を検索しづらくなります。 型を同じ名前のファイルに移動することで、コードが読みやすくナビゲートしやすくなります。


 別のファイルに移動したい型を選択し、Ctrl + . を押します。

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class Sample230624 : MonoBehaviour
{
    // Start is called before the first frame update
    void Start()
    {

    }
}

class Person
{
    public string FirstName { get; set; }
    public string LastName { get; set; }
}

 次のような表示が現れるので、"型を 〇〇 に移動" を選択します。

 型名と同じ名前のファイルに移動されました。もし、同じ名前のファイルがなければ、新たに生成されます。