AppCode 2023.1 ヘルプ

変数の導入

変数の導入リファクタリング Ctrl+Alt+V は、わかりにくい式や重複している式があった場合に、その式の結果やその一部を、より複雑でなくわかりやすい別の変数に格納することで、その問題に対処するためのものです。さらに、コードの重複を減らすことができます。

Extract variable

変数を抽出する

  1. エディターで、抽出する式またはその部分を選択するか、この式内にキャレットを配置します。

  2. Ctrl+Alt+V を押すか、メインメニューからリファクタリング | 抽出 / 導入 | 変数の導入を選択します。

  3. 式内にキャレットを配置した場合、AppCode は潜在的なコード選択のリストを提供します。リストから目的の選択肢を選択します。

  4. 抽出する式が複数回使用されている場合は、すべての出現箇所を置き換えるか、現在の出現箇所だけを置き換えるかを選択できます。

  5. 必要に応じて、デフォルトの変数名を変更し、追加のオプションを使用します。

    • Swift 用 : (var を使用して)変数を宣言する場合は、'var' で宣言するを確認してください。このチェックボックスの選択を解除して、定数を宣言します(let を使用)。変数宣言にデータ型を追加しない場合は、明示的に型を指定するチェックを外してください。

    • Objective-C 用 : const を宣言するをチェックして、新しい参照を定数として宣言します(const を使用)。

  6. Enter を押します。

コード例

private func performLogin() { // email: self.textFieldEmail.text ?? will be extracted // to the email variable let isEmailValid = self.emailValidator.isEmailValid(email: self.textFieldEmail.text ?? "") if (isEmailValid == true) { self.loginModel.login(email: self.textFieldEmail.text ?? "") } }
private func performLogin() { // Extracted variable let email = self.textFieldEmail.text ?? "" let isEmailValid = self.emailValidator.isEmailValid(email: email) if (isEmailValid == true) { self.loginModel.login(email: email) } }

- (void)performLogin { // self.textFieldEmail.text will be extracted // to the email variable BOOL isEmailValid = [self.emailValidator isEmailValid:self.textFieldEmail.text]; if (isEmailValid == NO) { [self.loginModel loginWithEmail:self.textFieldEmail.text]; } }
- (void)performLogin { // Extracted variable NSString *email = self.textFieldEmail.text; BOOL isEmailValid = [self.emailValidator isEmailValid:email]; if (isEmailValid == NO) { [self.loginModel loginWithEmail:email]; } }