Servoy comes with support for Refactoring. Code refactoring for a selected item can be accessed by selecting Refactor from the Script Editor context menu.
It is important to note that for refactoring to work comprehensively, the code must be properly documented through JSDoc. Insufficient information will result in decreased usefulness of the refactoring functionality.
The available Refactoring functions are described below.
- Rename – Renames variables (global, form and local [within functions]), functions and function parameters. The rename refactor changes the name both for the declaration of the object to be renamed, as well as all references to the object.
- Extract Local Variable – Extracts the selected value within a function's source to a local variable (i.e., a variable inside a function declaration). All occurrences of the selected value within the function's source are replaced by a reference to the new variable.
- Change Method Signature -- Alters the signature of an existing method and updates all calls to the method to use the new signature. Newly introduced parameters can be given a default value, so all calls to the method can call the method with the default value for the new parameter.
- Extract Method -- Creates a new function based on the selected code within a function's source and replaces the selected code with a call to the newly created function.
- Introduce Parameter -- Takes a hard-coded value inside the source of a function and creates a new parameter for it, replacing the hard-coded value with the parameter and updating all calls to the method to send the previously hard-coded value as value for the newly created parameter.
- Inline -- Replaces a method call with the code of the called method.
When performing a refactoring operation, a window will appear, allowing users to specify the required information and preview all the changes that will be made in all the code (similar to the Compare window described in the Compare and Replace section in Code Rewriting Tools ).