华为云用户手册

  • 重构后 class ReplaceConstructor { public static void main(String[] args) { InnerClass.newInnerClass("Hello", "World").print(); } private static class InnerClass { private String message; private InnerClass(String hello, String world) { message = hello + ", " + world; } public static InnerClass newInnerClass(String hello, String world) { return new InnerClass(hello, world); } public void print() { System.out.println(message); } } }
  • 重构前 class InheritanceDelegation { public static void main(String[] args) { InnerClass innerClass = new InnerClass(); print(innerClass); } private static void print(InnerClass innerClass) { innerClass.print(); } private static class InnerClass extends AbstractClass { public void evaluate() { } } private abstract static class AbstractClass { public void print() { System.out.println("Hello World!"); } public abstract void evaluate(); } }
  • 重构后 class InheritanceDelegation { public static void main(String[] args) { InnerClass innerClass = new InnerClass(); print(innerClass); } private static void print(InnerClass innerClass) { innerClass.print(); } private static class InnerClass { private final MyAbstractClass abstractClass = new MyAbstractClass(); public AbstractClass getAbstractClass() { return abstractClass; } public void print() { abstractClass.print(); } public void evaluate() { abstractClass.evaluate(); } private class MyAbstractClass extends AbstractClass { public void evaluate() { } } } private abstract static class AbstractClass { public void print() { System.out.println("Hello World!"); } public abstract void evaluate(); } }
  • 重构后 class Outer { public String message; public static void main(String[] args) { } static class Inner { private Outer outer; private String message; public Inner(Outer outer, String message) { this.outer = outer; this.message = message; } public void print() { System.out.println(message); } } }
  • 重构前 class InlineMethod { private int a; private int b; public void InlineMethod() { int c = add(a, b); int d = add(a, c); } private int add(int a, int b) { return a + b; } }
  • 重构前 class InlineParameter { private double InlineParameter(double rad, double pi) { return pi * rad * rad; } public void Test() { double area = InlineParameter(10, Math.PI); } }
  • 重构后 class InlineVariable { private int a; private Byte test; private int b; public void InlineVariable() { int number; int b = a + test.intValue(); number = 42; } }
  • 重构前 class InlineVariable { private int a; private Byte test; private int b; public void InlineVariable() { int number = test.intValue(); int b = a + number; number = 42; } }
  • 重构后 class ExtractParameter { public static void main(String[] args) { System.out.println(generateText(new TextContainer("Hello", "World!"))); } private static String generateText(TextContainer textContainer) { return textContainer.getHello().toUpperCase() + textContainer.getWorld().toUpperCase(); } private static class TextContainer { private final String hello; private final String world; private TextContainer(String hello, String world) { this.hello = hello; this.world = world; } public String getHello() { return hello; } public String getWorld() { return world; } } }
  • 重构前 class ExtractParameterObject { public static void main(String[] args) { System.out.println(generateText("Hello", "World!")); } private static String generateText(String hello, String world) { return hello.toUpperCase() + world.toUpperCase(); } }
  • 重构前 class IntroduceFunctionalParameter { public static void main(String[] args) { System.out.println(generateText()); } private static String generateText() { return "Hello World!".toUpperCase(); } }
  • 重构前 class ExtractDelegate { public static void main(String[] args) { new ExtractDelegate().print(); } private static final String message = "Hello World!"; private void print() { System.out.println(message); } }
  • 重构后 class ExtractDelegate { private final Printer printer = new Printer(); public static void main(String[] args) { new ExtractDelegate().print(); } private void print() { printer.print(); } public enum Printer { message("Hello World!"); private String value; public String getValue() { return value; } Printer(String value) { this.value = value; } private void print() { System.out.println(message.getValue()); } } }
  • 重构前 class ExtractImpl { public int myField; public static void main(String[] args) { new ExtractImpl().print(); } public void print() { System.out.println("Hello World!"); } }
  • 重构后 class ExtractImpl extends ExtractAbstract { public static void main(String[] args) { new ExtractImpl().print(); } @Override public void print() { System.out.println("Hello World!"); } } public abstract class ExtractAbstract { public int myField; public abstract void print(); }
  • 重构后 class ExtractImpl implements ExtractImplInterface { public static void main(String[] args) { new ExtractImpl().print(); } @Override public void print() { System.out.println("Hello World!"); } } public interface ExtractImplInterface { void print(); }
  • 重构后 class ExtractConstant { public static final String MESSAGE = "Hello" + " " + "World!"; public static void main(String[] args) { sayHello(); } private static void sayHello() { System.out.println(MESSAGE); } }
  • 重构后 class ExtractField { private static String message; public ExtractField() { message = "Hello" + " " + "World!"; } public static void main(String[] args) { sayHello(); } private static void sayHello() { System.out.println(message); } }
  • 重构前 class ExtractParameter { public static void main(String[] args) { sayHello(); } private static void sayHello() { System.out.println("Hello" + " " + "World!"); } }
  • 重构后 class ExtractParameter { public static void main(String[] args) { sayHello(); } private static void sayHello() { sayHello("Hello" + " " + "World!"); } private static void sayHello(String message) { System.out.println(message); } }
  • 重构后 class ExtractVariable { public static void main(String[] args) { sayHello(); } private static void sayHello() { String message = "Hello" + " " + "World!"; System.out.println(message); } }
  • 重构前 class PullUp { public static void main(String[] args) { new InnerClass().print(); } private static class InnerClass extends AbstractClass { public String myField; public void print() { System.out.println("Hello World"); } } private static abstract class AbstractClass { } }
  • 重构后 class PullUp { public static void main(String[] args) { new InnerClass().print(); } private static class InnerClass extends AbstractClass { } private static abstract class AbstractClass { public String myField; public void print() { System.out.println("Hello World"); } } }
  • 重构后 public class MoveInstanceMethod { public static void main(String[] args) throws Exception { Car c = new Car(); System.out.println(new MoveInstanceMethod().getName(c)); } String getName(Car car) { System.out.print(toString()); return car.name; } } class Car { String name = "Default Car"; }
  • 重构前 public class MoveInstanceMethod { public static void main(String[] args) throws Exception { Car c = new Car(); System.out.println(c.getName(new MoveInstanceMethod())); } } class Car { String name = "Default Car"; String getName(MoveInstanceMethod anotherObject) { System.out.print(anotherObject.toString()); return this.name; } }
  • 重构前 class OuterClass { String str = "test"; public void outermethod(){ InnerClass ic = new InnerClass(); ic.print(); } class InnerClass { public void print(){ System.out.println(str); } } }
  • 重构后 class OuterClass { String str = "test"; public void outermethod(){ InnerClass ic = new InnerClass(this); ic.print(); } } class InnerClass { private final OuterClass outerClass; public InnerClass(OuterClass outerClass) { this.outerClass = outerClass; } public void print() { System.out.println(outerClass.str); } }
  • 重构后 package com.refactoring.source; public class Refactoring { public String testStr = "test"; public void DoSomeThing() { System.out.println(testStr); } } package com.refactoring.target; public class RefactoringCopy { public String testStr = "test"; public void DoSomeThing() { System.out.println(testStr); } }
  • Java代码重构简介 Java程序重构的目标是在不影响程序行为的情况下进行系统范围的代码更改。SmartAssist扩展提供了许多易于访问的重构选项。 重构命令存在于编辑器的右键菜单中。选择用户要重构的元素,右键单击它,然后从上下文菜单中选择“重构”。或者在主菜单中,选择“重构”。 Java代码重构包含多种重构方式,其中: 移动重构支持在不同的包中创建类的副本,在整个类层次结构中移动类和类成员。 提取/引入重构允许将任意代码表达式转换为新变量、类字段、方法等,这与内联重构相反。 内联重构允许将变量、字段、方法等用法替换为其内容,这与提取/引入重构相反。 父主题: Java代码重构
  • 验证导入 CodeArts IDE提供了几个导入验证规则,您可以根据需要配置这些规则。 通过执行以下任一操作打开Java Assist Settings对话框: 单击CodeArts IDE状态栏中的Java Smart Assist。 在命令面板中运行SmartAssist:Open Settings命令(“Ctrl+Shift+P”/“Ctrl Ctrl”)。 在搜索字段中键入import以快速找到导入验证规则。然后配置如下: 要启用或禁用规则,请使用其名称旁边的复选框。 要调整相应代码问题在代码编辑器中突出显示的方式,请在Severity列表中选择所需的严重性级别。 有关验证规则的更多详细信息,请参见代码校验。
共100000条
提示

您即将访问非华为云网站,请注意账号财产安全