定位项目中所有重复的程序

简介: 有时匆忙开发完了项目,很多功能因为赶时间没有仔细思考最优的实现,直接Ctrl+C,Ctrl+V,导致项目很多重复的程序。项目完成之后,想要进行项目优化。如果你再一个以上的地点看到相同的程序结构,那么可以肯定:设法将它们合而为一,程序会变得更好。

有时匆忙开发完了项目,很多功能因为赶时间没有仔细思考最优的实现,直接Ctrl+C,Ctrl+V,导致项目很多重复的程序。项目完成之后,想要进行项目优化。

如果你再一个以上的地点看到相同的程序结构,那么可以肯定:设法将它们合而为一,程序会变得更好。

Idea开发工具已经为我们提供了这个功能。

操作

  1. 点击Idea的 Analyze -> Locate Duplicates..


    img_ae9e02fa5493be2e8dfd7b1b5c82489a.png
    功能位置
  2. 配置如何寻找重复程序的范围


    img_725d4725744a351f95feca0d1d379ff8.png
    程序范围
  3. 配置定位 特定语言,与定位重复代码的类型,本地变量,元素,方法等等. 多少行重复的程序才被找到等等。

    img_376eac77242f274d3318682d0bbf8aff.png
    语言类型与具体配置

  4. 查看具体结果与修改


    img_40fc849bc52dab841c6153cb9b36d828.png
    定位结果
  5. 根据重复代码合并等等

最后

Idea可以查看自己最近修改的文件,以及查看文件修改的历史版本。给我们提供了很多便利,让程序更加优雅。

相关文章
|
存储 安全 Java
BlockingQueue(阻塞队列)基本使用指南
BlockingQueue(阻塞队列)基本使用指南
440 1
|
存储 安全 Java
Java线程池ThreadPoolExcutor源码解读详解02-阻塞队列之ArrayBlockingQueue
`ArrayBlockingQueue` 是Java中一个基于数组的并发队列,具有线程安全的性质。以下是其关键信息的摘要: - **继承实现关系**:它扩展了`AbstractQueue`并实现了`BlockingQueue`接口,确保线程安全的入队和出队操作。 - **数据结构**:内部由固定大小的数组支撑,有`takeIndex`和`putIndex`跟踪元素的添加和移除位置,`count`记录队列中的元素数量。 - **特点**:队列长度在创建时必须指定且不可变,遵循先进先出(FIFO)原则,当队列满时,添加元素会阻塞,空时,移除元素会阻塞。
185 0
|
17天前
|
分布式计算 Kubernetes 调度
Kubeflow-Spark-Operator-架构学习指南
本指南系统解析 Spark Operator 架构,涵盖 Kubebuilder 开发、控制器设计与云原生集成。通过四阶段学习路径,助你从部署到贡献,掌握 Kubernetes Operator 核心原理与实战技能。
58 0
|
SQL Oracle 关系型数据库
Oracle19c静默部署文档
本文档详细介绍了如何在Linux环境下静默部署Oracle 19c数据库。内容涵盖系统基础配置、用户及目录创建、系统配置文件修改、数据库安装与配置、监听配置与启动,以及数据库的启动与关闭操作。此外,还提供了SQL*Plus的改进方法和Navicat远程连接Oracle的解决方案。通过步骤化的指导,帮助读者顺利完成Oracle 19c的安装与配置。文档适用于Oracle 21C及之前的版本,附带多张示意图,便于理解和操作
Oracle19c静默部署文档
|
2月前
|
安全
护理不良事件的分类与成因分析
护理不良事件指因护理行为导致患者死亡、伤残或住院时间延长等事件,常见类型包括跌倒、用药错误、管路滑脱等。成因多与制度执行不严、操作不规范等有关。医疗机构通过主动报告、根源分析、分级处理等机制加强管理,强化护理安全,提升服务质量,保障患者生命安全。
232 0
|
11月前
|
机器学习/深度学习 传感器 算法
智能机器人在工业自动化中的应用与前景###
本文探讨了智能机器人在工业自动化领域的最新应用,包括其在制造业中的集成、操作灵活性和成本效益等方面的优势。通过分析当前技术趋势和案例研究,预测了智能机器人未来的发展方向及其对工业生产模式的潜在影响。 ###
715 9
|
前端开发 架构师 Java
领域驱动设计DDD从入门到代码实践
在本文中,作者将借鉴《实现领域驱动设计》的做法,介绍领域驱动设计的基本概念的同时,用一个虚拟的公司和一个虚拟的项目,把领域驱动设计进行落地实践。
14939 11
领域驱动设计DDD从入门到代码实践
|
搜索推荐 领域建模 数据库
【DDD】全网最详细2万字讲解DDD,从理论到实战(代码示例) 1
【DDD】全网最详细2万字讲解DDD,从理论到实战(代码示例)
1864 0
新版idea提交代码时候无法提交文件夹
新版idea提交代码时候无法提交文件夹
341 0
新版idea提交代码时候无法提交文件夹
|
消息中间件 缓存 Kafka
关于RocketMQ消息拉取与重平衡的一些问题探讨
其实最好的学习方式就是互相交流,最近也有跟网友讨论了一些关于 RocketMQ 消息拉取与重平衡的问题,我姑且在这里写下我的一些总结。
557 0
关于RocketMQ消息拉取与重平衡的一些问题探讨