非常强大的IDEA代码重构小技巧

news2024/11/27 8:28:49

文章目录

  • 命名相关
    • refactor this
    • rename
    • change signature
  • 变量相关
    • extract/introduce
  • 移动
    • move instance method
    • copy class
    • safe delete
  • 成员
  • 方法与类型
    • Type migration
  • 使用接口与取消继承

idea是个非常强大的ide,尤其是在重构时,提供了非常强大的功能。下面就来看一看idea
在这里插入图片描述

命名相关

在这里插入图片描述

refactor this

实际上是一个快捷键,列出来常用的重构工具。
在这里插入图片描述

rename

顾名思义,用于对变量,class,文件名的重命名,提供推荐命名。
在这里插入图片描述

change signature

改变方法签名,变更参数,返回值,方法名,移动参数位置。在被多个地方引用时,非常方便。
在这里插入图片描述

变量相关

在这里插入图片描述

extract/introduce

开发过程中最常用的变量引入,变量,常量,字段,参数。
在这里插入图片描述

移动

在这里插入图片描述

move instance method

是将非继承方法,通过重构,引入到其他实例中去,以DDD充血模型中的重构最为常见。
在这里插入图片描述

copy class

在多态代码编写中挺有用。多个子类F5改名完事。
在这里插入图片描述

safe delete

删除前查找引用。
在这里插入图片描述

成员

在这里插入图片描述
可以理解为继承或者实现关系中的上下级,pull到上级,push到下级。
在这里插入图片描述

方法与类型

在这里插入图片描述

Type migration

迁移类型,字段类型,方法返回值类型。Ctrl Shift F6
与前面的Shift F6 区别:一个是修改类型,一个修改变量名。

使用接口与取消继承

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/858678.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

twisted 18.7.0 requires PyHamcrest>=1.9.0 解决方案

大家好,我是爱编程的喵喵。双985硕士毕业,现担任全栈工程师一职,热衷于将数据思维应用到工作与生活中。从事机器学习以及相关的前后端开发工作。曾在阿里云、科大讯飞、CCF等比赛获得多次Top名次。现为CSDN博客专家、人工智能领域优质创作者。喜欢通过博客创作的方式对所学的…

火爆全网,HttpRunner自动化测试框架-CSV文件数据(详细总结)

目录:导读 前言一、Python编程入门到精通二、接口自动化项目实战三、Web自动化项目实战四、App自动化项目实战五、一线大厂简历六、测试开发DevOps体系七、常用自动化测试工具八、JMeter性能测试九、总结(尾部小惊喜) 前言 当数据量比较大的…

设计模式(4)装饰模式

一、介绍: 1、应用场景:把所需的功能按正确的顺序串联起来进行控制。动态地给一个对象添加一些额外的职责,就增加功能来说,装饰模式比生成子类更加灵活。 当需要给一个现有类添加附加职责,而又不能采用生成子类的方法…

逆向破解学习-雷电星海战歌

apk 雷电星海战歌 https://download.csdn.net/download/AdrianAndroid/88200826 安装apk,并试玩 # 通过关键字搜索jad 找到统一支付接口 找到匿名内部类的名称 Hook代码 public class HookComAstPlane extends HookImpl {Overridepublic String packageNam…

15.4 【Linux】可唤醒停机期间的工作任务

15.4.1 什么是 anacron anacron 并不是用来取代 crontab 的,anacron 存在的目的就在于我们上头提到的,在处理非24 小时一直启动的 Linux 系统的 crontab 的执行! 以及因为某些原因导致的超过时间而没有被执行的调度工作。 其实 anacron 也是…

makefile include 使用介绍

文章目录 前言一、include 关键字1. 语法介绍2. 处理方式示例: 二、- include 操作总结 前言 一、include 关键字 1. 语法介绍 在 Makefile 中,include 指令: 类似于 C 语言中的 include 。将其他文件的内容原封不动的搬入当前文件。 当 …

云仓酒庄给予经销商支持和帮助,为服务好终端架起桥梁

随着经济消费持续复苏,白酒市场也在快速回暖,据相关数据显示,白酒行业营收利润的持续增长,促使不少经销商走入白酒市场这一赛道,品牌经销成为瓜分“蛋糕”的重要方式。同时,不少专注于白酒技术研发、酿造、…

【从0开始离线数仓项目】——数据仓库的环境搭建(1)

目录 一、服务器环境准备 1.2 编写集群分发脚本xsync 1.3 SSH无密登录配置 1.4 JDK准备 1.5 环境变量配置说明 二、集群所有进程查看脚本 三、Zookeeper安装 3.1 分布式安装部署 3.2 ZK集群启动停止脚本 3.3 客户端命令行操作 一、服务器环境准备 CentOS 7 怎么从命…

勘探开发人工智能技术:机器学习(4)

0 提纲 5.1 半监督学习 5.2 主动学习 5.3 代价敏感学习 5.4 多标签学习 5.5 多示例学习 1 半监督学习 用无标签的数据提升学习器的效果. 1.1 基本概念 半监督学习强调的是一种学习场景, 在该场景下, 无标签数据可以协助带标签数据提升预测质量. 监督学习: 训练数据都有标签…

15 款最佳建筑渲染软件,适用于 Windows、macOS,免费和付费版本

3D 建模和渲染在建筑行业的各种项目的推广和营销中发挥着非常重要的作用。建筑公司使用 3D 建模和渲染、3D 建筑动画和演练来展示他们的设计。房地产效果图帮助代理商让客户清楚地了解建筑设计、纹理、灯光效果和环境情况。这是非常有价值的,并且在销售设计时提供了…

【Java可执行程序命令】学习路线攻略,史诗级别全汇总 ~

Java可执行程序命令学习路线攻略 📗文章指路Java可执行命令1、编译工具 javac2、程序启动工具 java3、API文档生成 javadoc4、反编译工具 javap5、打包部署工具 jar6、调试工具 jdb7、C头文件创建 javah8、JWS应用程序启动 javaws9、安装包创建 javapackager10、JAR…

Pytorch基于VGG cosine similarity实现简单的以图搜图(图像检索)

代码如下: from PIL import Image from torchvision import transforms import os import torch import torchvision import torch.nn.functional as Fclass VGGSim(torch.nn.Module):def __init__(self):super(VGGSim, self).__init__()blocks []blocks.append(t…

怎样做接口测试:从入门到精通的指南

怎样做接口测试:从入门到精通的指南 为什么接口测试如此重要? 接口测试在软件开发过程中扮演着关键的角色。它确保不同系统、组件或服务之间的无缝集成和通信。 接口测试的基本概念 接口测试是一种验证软件系统组件之间相互连接的过程。它主要关注数据…

盘点HTTP爬虫ip使用中的误区

嗨!网络冒险家们,你们是否曾经尝试使用HTTP爬虫ip,并遇到了一些问题?别担心!今天,我将与你们分享使用HTTP爬虫ip过程中的一些常见误区,帮助你们更好地理解和应用爬虫ip。让我们一起来揭开这些误…

正确的 Java 异常处理

我们来谈谈痛点吧。由于我的职责,我必须使用许多不同的服务(进行编辑、进行代码审查......);不同的团队通常会编写所有这些服务,每当涉及到处理错误并从服务转发错误时,有时我的眼睛就会开始流泪。让我尝试…

elasticsearch-head可视化安装

一、前言 elasticsearch-head 是用于监控 Elasticsearch 状态的客户端插件,包括数据可视化、执行增删改查操作等。 elasticsearch是通过API方式进行管理的,因此也可以使用postman等工具操作elasticsearch。 二、安装 lasticsearch-head插件是使用Jav…

供应链云仓系统的源码解析

1. 什么是供应链云仓系统 供应链云仓系统是一种基于云计算和大数据技术的物流管理系统,旨在提高供应链的效率和运作能力。该系统通过集成各环节的物流信息,实现实时数据共享和流程连接,从而优化物流运营、提升客户满意度。 2. 源码解析&#…

机器学习深度学习——常见循环神经网络结构(RNN、LSTM、GRU)

👨‍🎓作者简介:一位即将上大四,正专攻机器学习的保研er 🌌上期文章:机器学习&&深度学习——RNN的从零开始实现与简洁实现 📚订阅专栏:机器学习&&深度学习 希望文章…

SD-MTSP:杨氏双缝实验优化算法YDSE求解单仓库多旅行商问题MATLAB(可更改数据集,旅行商的数量和起点)

一、杨氏双缝实验优化算法YDSE 杨氏双缝实验优化算法(Young’s double-slit experiment optimizer,YDSE)由Mohamed Abdel-Basset等人于2023年提出。 参考文献: [1]Mohamed Abdel-Basset, Doaa El-Shahat, Mohammed Jameel, Moha…

阿里云轻量应用服务器_2核2G3M_108元/年_性能测评

阿里云轻量应用服务器2核2G3M带宽108元一年,系统盘为50GB高效云盘;轻量服务器2核4G4M带宽,60GB高效云盘297.98元12个月。目前轻量应用服务器只有2核2G和2核4G有活动,阿里云百科分享阿里云轻量应用服务器入口: 目录 阿…