RubyMine 2021.1 Help

Extract constant

As Extract Variable, the Extract Constant refactoring lets you extract a specified value to a corresponding constant.

The animation below demonstrates how to extract a specific word from a string to a constant:

extract constant

To extract a constant:

  1. Select a value to refactor or place a caret at a string containing the required value.

  2. From the main menu, select Refactor | Extract/Introduce | Constant Ctrl+Alt+C.

  3. (Optional) If you place a caret at a place containing several expressions available for extracting, select the required expression and press Enter:

    expressions for extracting
  4. (Optional) If more than one occurrence of the expression is found, specify whether you wish to replace only the selected occurrence or all the found occurrences with the new variable:

    replace all occurrences
  5. Specify the constant name and press Enter.

Example

puts "Hello from JetBrains" puts "Goodbye from JetBrains"
NAME = "JetBrains" puts "Hello from #{NAME}" puts "Goodbye from #{NAME}"

The Extract Constant refactoring helps you avoid using hardcoded constants without any explanations about their values or purpose.

Extract constant

Extract a constant

  1. In the editor, select an expression or declaration of a variable you want to replace with a constant.

  2. Press Ctrl+Alt+C to introduce a constant or select Refactor | Extract/Introduce | Constant from the main or context menu.

  3. If there are several expressions available for extracting, select the required one from the list that opens and press Enter.

  4. Select a name for the constant from the list of suggestions that opens or type a new one.

  5. Check the Put to header checkbox if you want the constant to be moved to the header file.

  6. Uncheck the Declare static checkbox if you don't want the constant to be declared as static.

  7. Press Enter.

Code example

BeforeAfter
@implementation PasswordValidator + (BOOL)isPasswordValid:(NSString *)password { // 4 will be extracted to a constant return password.length > 4; } @end
// Extracted constant static const int kMinPasswordLength = 4; @implementation PasswordValidator + (BOOL)isPasswordValid:(NSString *)password { return password.length > kMinPasswordLength; } @end
    Last modified: 08 March 2021