• IDEA代码重构


     重构

    重构的目的: 提高代码的可读性、可维护性、可扩展性和性能。

    重命名元素

     重命名类

    当我们进行重命名操作的时候可以看到第六行存在一个R(rename),点击后就会弹出所偶有引用,这样可以避免我们在修改后存在遗漏引用处未修改。

    我们可以通过shift+F6 (windows/linux),F6(macos)来调用重命名重构,idea会将类、方法、变量建议替代名称,你可以在推荐的列表中选择其一。

     在我们的实体类中使用shift+F6对属性进行修改,IntelliJ IDEA 会检测此字段是否用于 getter 和 setter 方法,并询问我们是否更新。它还会更新该字段在方法参数名称中的用法。

    更改签名

     在我们的接口方法中,当我们新增一个参数的时候,比如一个int类型的count,点击R可以对方法新增参数给予默认值。

    修改类签名

    1. public class MyTest {
    2. int count = 0;
    3. public int getCount() {
    4. return count;
    5. }
    6. public void setCount(int count) {
    7. this.count = count;
    8. }
    9. public static void main(String[] args) {
    10. MyTest test = new MyTest();
    11. System.out.println(test.getCount());
    12. }
    13. }

     Ctrl+F6 来修改类签名。 我们向其添加两个通用参数:一个名为 K,默认值 Integer;一个名为 V,默认值 String。 重构类后,MyTest的用法将改变。

     改变后如下:

    1. public class MyTest {
    2. int count = 0;
    3. public int getCount() {
    4. return count;
    5. }
    6. public void setCount(int count) {
    7. this.count = count;
    8. }
    9. public static void main(String[] args) {
    10. MyTest test = new MyTest();
    11. System.out.println(test.getCount());
    12. }
    13. }

    提取方法

             我们可以在 macOS 上使用快捷键 ⌥⌘M,或者在 Windows/Linux 上使用 Ctrl+Alt+M 将这段代码提取到另一方法。也可以选中代码后alt+Enter 选中后回车进行方法的提取

     内联方法

    选中抽取的方法后,我们可以在 macOS 上使用快捷键 ⌥⌘N ,或者在 Windows/Linux 上使用 Ctrl+Alt+N 来内联刚刚创建的方法 manipulateStack。 我们可以内联方法内容然后删除方法,也可以保留方法。 在此示例中,我们删除了方法。

     

     勾选移除后确认就可以了,可以理解为内联是提取方法重构的逆转,往往用来移除不必要的重定向,或者内联后重新选择提取部分进行提取重构。

     引入常量

    在开发中,通常避免使用魔法值。。 我们可以在 macOS 上使用快捷键 ⌥⌘C,或者在 Windows/Linux 上使用 Ctrl+Alt+C 将这个值提取到常量。

    引入字段

    除了将其定义为常量,您还可以在 macOS 上使用 ⌥⌘F,或者在 Windows/Linux 上使用 Ctrl+Alt+F 来引入字段存储这些值,以便它们在不同实例中拥有不同值。

    提取参数

    1. // Arrays.asList(1,2,3,4)提取为getItemsList方法参数前
    2. public List getItemsList() {
    3. return Arrays.asList(1,2,3,4).subList(fromIndex, toIndex);
    4. }
    5. // ctrl+alt+p 进行参数提取
    6. public List getItemsList(List integers) {
    7. return integers.subList(fromIndex, toIndex);
    8. }

    引入变量

    1. // 不使用引用变量前
    2. int a = 1,b=2,c=3;
    3. if (a>b&&c>b){
    4. return;
    5. }
    6. // ctrl+alt+v引入新变量
    7. final boolean aUpperb = a > b;
    8. final boolean cUpperb = c > b;
    9. if (aUpperb && cUpperb){
    10. return ;
    11. }

    安全删除

    如果您不想再在项目中使用某个文件或符号,您应该把它安全删除

    选择要删除的文件或类,然后使用 ⌘⌦,或者在 Windows/Linux 上使用 Alt+Delete。 IntelliJ IDEA 在确保资源可被安全删除之后才会将其删除。

  • 相关阅读:
    对副业的选择无论是自媒体还是 Python接单 ,始终绕不开IT行业。
    SARscape——保边滤波
    Python学习第3天-第一个Python程序
    AUTOCAD——中心线绘制、CAD默认线宽是多少?可以修改吗?
    三大电商平台(淘宝/京东/阿里巴巴)封装商品详情API接口附代码实例|参数解析
    AMD AFMF不但能用在游戏,也适用于视频
    跨平台开发方案的三个时代
    新生儿蒙古斑:原因、科普和注意事项
    微服务保护
    我悟了!Mysql事务隔离级别其实是这样!
  • 原文地址:https://blog.csdn.net/weixin_44285713/article/details/137858155