TS 69 JavaFX Refactoring

Author: Alexandr Scherbatiy
Version: 1.2
Last update: 4 August 2010
Introduction:
Comments:


Contents


Refactoring Ubrella issue: 173077


Variable

Name

  • Type in the editor:
public var a = 10;
public var b = a + 10;
  • Refactor->Rename the a variable to c
    • Code should be compilable
    • The result should be
public var c = 10;
public var b = c + 10;

Type

  • Type in the editor:
var a:A;
class A{}
  • Refactor->Rename the A type of the a variable to B
    • Code should be compilable
    • The result should be
var a:B;
class B{}


Function

Name

  • Type in the editor:
function f(x:Number):Number{ x * x} 
  • Refactor->Rename the f function to sqr
    • Code should be compilable
    • The result should be
function sqr(x:Number):Number{ x * x}

Argument

  • Type in the editor:
function sqr(x:Number):Number{ x * x}
  • Refactor->Rename the x argument to y
    • Code should be compilable
    • The result should be
function sqr(y:Number):Number{ y * y}

Return Type

  • Type in the editor:
class A{}
function f(a:A):A{ A{} }
  • Refactor->Rename the A function return type to B
    • Code should be compilable
    • The result should be
class B{}
function f(a:B):B{ B{} }



Sequence

Name

  • Type in the editor:
var seq = [1,2,3,4,5];
var sqr = for(n in seq) seq[[N | n]] * seq[N];
  • Refactor->Rename the seq sequence to s
    • Code should be compilable
    • The result should be
var s = [1,2,3,4,5];
var sqr = for(n in s) s[[N | n]] * s[N];



Package

Name

  • Create a package
  • Create A JavaFX class under the package
package a;

public class A {

}
  • Refactor->Rename the a package to b
    • Code should be compilable
    • The A class should have the b package
package b;

public class A {

}

Drag And Drop

  • Create a package
  • Create A JavaFX class under the package
package a;

public class A {

}
  • Create b package
  • Drag and drop the A class to the b package
    • Code should be compilable
    • The A class should have the b package
package b;

public class A {

}

Default package

  • Have a JavaFX class in any package
  • Refactor -> Move it into empty package
    • Class is moved without any error. There is no package line in source code


Class

Name

  • Type in the editor:
class A{};
var a = A{};

function f(a:A):A { A{} }
  • Refactor->Rename the A class to B
    • Code should be compilable
    • The result should be
class B{};

var a = B{};
function f(a:B):B { B{} }

Attribute name

  • Type in the editor:
class A{
    public var attr:String;
};

var a = A{ attr: "Hello World" };

println(a.attr);
  • Refactor->Rename the attr attribute name to attr2
    • Code should be compilable
    • The result should be
class A{
    public var attr2:String;
};

var a = A{ attr2: "Hello World" };

println(a.attr2);

Attribute Type

  • Type in the editor:
class A{
    public var attr:A;
};

var a = A{ attr: A{} };
  • Refactor->Rename the A type of the attr_ attribute to B__
    • Code should be compilable
    • The result should be
class B{
    public var attr:B;
};

var a = B{ attr: B{} };

Attribute Default Value

  • Type in the editor:
class A{
    public var attr:A = A{};
};

var a = A{ attr: A{} };
  • Refactor->Rename the A default value of the attr_ attribute to B__
    • Code should be compilable
    • The result should be
class B{
    public var attr:B = B{};
};

var a = B{ attr: B{} };

Inheritence

  • Type in the editor:
class A{}
class B extends A{}
  • Refactor->Rename the A class to D
    • Code should be compilable
    • The result should be
class D{}
class B extends D{}

Mixin

  • Type in the editor:
class A{}
mixin class M{}
class B extends A, M{}
  • Refactor->Rename the M class to N
    • Code should be compilable
    • The result should be
class A{}
mixin class N{}
class B extends A, N{}




Operators

While loop

  • Type in the editor:
var f = true;

while(f){
    f = not f;
}
  • Refactor->Rename the f variable to g in the 'while(f){' line
    • Code should be compilable
    • The result should be
var g = true;

while(g){
    g = not g;
}

For loop

  • Type in the editor:
var s = [1,2,3,4,5];
var t = for(n in s) s[N] * indexof n;
  • Refactor->Rename the n loop variable to m
    • Code should be compilable
    • The result should be
var s = [1,2,3,4,5];
var t = for(m in s) s[M] * indexof m;



-- Main.AlexandrScherbatiy - 22 Sep 2009

Not logged in. Log in, Register

By use of this website, you agree to the NetBeans Policies and Terms of Use. © 2012, Oracle Corporation and/or its affiliates. Sponsored by Oracle logo