JBuilder2005实现重构之对重构的支持-Java基础-Java-编程开发

S32DS3.5图形化配置实战:从零构建S32K144通信接口工程 本文详细介绍了如何使用S32DS3.5图形化配置工具从零构建S32K144通信接口工程。通过实战演示引脚配置、时钟树设置、SPI接口搭建等关键步骤,帮助开发者快速掌握NXP S32K系列开发技巧,提升嵌入式开发效率。特别针对S32DS3.5版本的新特性进行了深度解析,包括智能代码生成和调试优化方法。 阅读详情
<script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"> </script>  Martin Flower在写《重构》时曾经感叹地说,如果有一个自动化的重构工具出现就好了,而且也预言了重构的发展方向是工具自动化重构。JBuilder正好迎合了这声呼喊,到目前为此,可以很公允地说,还没有一种工具在重构的表现上可望其项背。

  1、提供了哪些重构的功能

  JBuilderX(上一版本)就已经有了重构的功能,JBuilder 2005对代码重构投入了更多的热情,赋予了更多灵活易用的功能。在JBuilder 2005中,重构已经单独形成一个独立的Refactor主菜单。简要的讲JBuilder 2005为重构提供了以下的功能:

  · 发现引用,查看重构的影响

  如果你需要对一个方法进行重新命名,所有引用到这个方法的地方都要相应更改,也许你希望在重构前查看一下这种影响涉及到的地方。对于一个拥有成千上百个类的大系统,如果徒手去做这项工作,其艰辛程度令人望而生畏,JBuilder可以按语义关联找出所有引用,这样,你就可以挥洒自如,游刃有余地完成这项工作了。

  · 重命名

  我们对代码中包、类、方法、值域等改名却是有建设意义的,通过改名可以清晰化代码,增强可读性。但很不幸的是这些需要改名的实体也象企业一样:在程序的环境里存在许多引用,如果冒然改名将使许多引用发生错误。JBuilder像一个有力的协调者,在对元素进行更名的同时更改这些调用,使改名得到同步。

  · 提炼式重构

  JBuilder提供了轻松的方法,将类中的方法抽取到一个新类中,将大方法中的一段代码抽取为一个独立的小方法,也提供了方便的操作,将一个重复的表达式提取成一个临时的变量。

  · 搬迁重构

  有个经典的游戏叫作"推箱子",它的目标是将散落在仓库中的货物搬迁到一起。将方法或值域在类的承继体系中上推下移,在JBuilder中就象玩"推箱子"游戏一个简单。

  · 通过重构将代码提升到JDK 5.0

  宝剑出销,猛虎出笼,被命名为Tiger的JDK5.0给Java开发者带来了诸多的欢喜,但也带来了诸多的苦恼:如何将低版本的代码无缝升级为JDK 5.0的代码风格,如更有效的循环语句、自动装/拆箱、非泛型转泛型等。JBuilder提供了简单的操作,你定会感受到这种无缝升级的快乐。

  · 分布式重构

  所谓分布式重构是这样的一种情形:A团队开发一个公用模块打成JAR包分发给其他B、C等团队使用,当A对公用模块进行重构后,将重构信息附在JAR包中一起重新分发,B、C等团队直接通过JBuilder将这些重构信息应用于他们的代码。

  分布式重构无疑是一项闪亮的功能,使多团队的协作变得更加自由,没有分布式重构,源头的更改将变得束手束脚,有了分布式重构所有的樊牢都自行拆除。

  · 其它归为杂项的重构

  JBuilder还提供了许多有用的代码重构功能,如优化import语句,自动添加异常捕捉的代码块,对部署描述文件进行重构,EJB重构,代理方法等不一而足。

  当然有一些重构无法通过工具完成,如算法的优化设计,数据库的优化设计等,我很庆幸工具的这种限制,不然我会失业的:)。

  2、重构对话框

  打开Java文件,将光标移至需要重构的语义代码处,调出重构对话框,如下图是对包名进行重构的对话框:

  一般的重码功能项都有一个对应的对话框,勾选View references before refactoring项表示点击OK按钮后,先预览重构所涉及代码,重构预览窗口如下图所示:

  如果重构对话框的View references before refactoring选项没有勾选,JBuilder直接完成重构,不需用户再点击 按钮。

  在预览时,编辑器中的包名依然为未重构前的包名,信息窗格列出了重构影响到的地方,信息窗格第一行的"Rename Package myrefactor to myrefactor_1"说明重构将包名从myrefactor更名为myrefactor_1。点击信息窗格的 按钮应用重构。如果想取消重构,点击信息窗格底部的 按钮关闭信息窗格,此时JBuilder会弹出对话框,提示用户还没有应用重构,点击确认后退出即可。如果点击 按钮进行了重构,可以通过 按钮撤消重构。在重构后最好点击 按钮对重构影响到的文件重新编译以确保Class文件和Java文件同步。

  3、重构一般操作步骤

  在JBuilder中重构的一般按以下步骤进行:

  1.重编译工程以保证Java文件和Class文件同步。

  2.将光标置于需要重构的语义代码(如包名、类名、方法、值域、局域变量)中,如果需要进行诸如抽取方法的重构,还需要选择一块代码。

  3.调出重构对话框。JBuilder提供了四种调用重构功能的方法:

  · 通过Refactor主菜单下的菜单项。

  · 通过Ctrl Shift R快捷键调出重构浮动菜单。

  · 在编辑器中右击,在弹出的菜单中选择重构菜单项。

  · 通过UML图的右键菜单进行重构。

  此外JBuilder还为一些常用的重构功能提供了快捷键,在下表中说明:

  表 1 重构功能项快捷键

快捷键重构功能
Ctrl Shift E提炼方法
Ctrl Shift V引入变量
Ctrl Shift C自动添加异常捕捉代码

  注意:
  
  本文后续内容除特殊情况外,都通过Ctrl Shift R快捷键调出重构菜单,再通过浮动菜单项调出重构对话框。为保持行文的简洁性,像Ctrl Shift R->调出浮动重构菜单->在浮动菜单中选择Rename Method "xxx"...菜单项,调出方法重命名对话框,我们将直接描述为:Ctrl Shift R->Rename Method调出方法重命名对话框。

  4.通过信息窗格的报告重构信息,预览重构的影响。

  5.点击 按钮确认重构。

  6.点击 编译重构影响的Java文件以保持和Class文件同步。

  JBuilder将每次重构看成一个事务性的操作,假设重命名一个类,这将涉及到类名称的更改、构造函数的更改、类文件名的更改、调用者引用的更改,如果某一步不成功,如文件名更改时发生IO读写问题,则所有的更改都不会发生。这种事务性的操作使得重构的安全性和完整性得到了很好的保障。

  由于JBuilder是通过类语义关联查找引用关系的,所以为了保证重构的正确,在重构前需要保证Class文件和Java文件的一致,如果在上次编译后对源代码进行了更改,在重构前必须编译工程以保证两者的一致性,这样才不会有引用同步更改的漏网之鱼。

Win11下高效管理JDK1.8与JDK17双环境的实战指南 本文提供了一份在Windows 11系统上高效管理JDK 1.8与JDK 17双环境的实战指南。文章详细讲解了如何实现双版本切换,包括如何干净安装两个JDK、通过巧妙配置环境变量实现命令行一键切换,以及在不同IDE和构建工具中为项目独立配置JDK版本,旨在帮助Java开发者彻底解决版本冲突问题,提升开发效率。 阅读详情

相关推荐

Innovus Function ECO实战:5步搞定数字后端设计中的网表修正(含Calibre LVS验证技巧)

本文提供了一份完整的Innovus Function ECO实战指南,详细解析了数字后端设计中网表修正的五步流程。从理解Function ECO概念、准备关键文件,到在Innovus中执行逻辑比对、自动布线及GUI检查,并重点攻克了ECO后Calibre LVS验证的难点与调试技巧,帮助工程师高效、精准地完成流片前的设计微调。

day7的博客 950

JBuilder 2005全接触

  时间过得很快,又是一个清闲和放纵的暑假,不过我们处身于竞争激烈的时代,随时“充电”是现代生活的特点,所以不要忘记到天极开发者网络来充充“电”。  JBuilder是Borland公司公司推出的一款优秀的Java集成开发工具,JBuilder 2005是目前的最新版,在这个版本中Borland集成目前众多的优秀技术,如:工程管理、单元测试、代码审查、撰写Javadoc说明文档等等,极大的方便了J

fly_java的专栏 1060

KiCad插件安装太慢?试试华秋版,再手把手教你装这5个实用插件

本文介绍了KiCad华秋发行版如何解决插件安装慢的问题,并详细推荐了5个实用插件及其安装方法。华秋版优化了国内用户的下载速度,预装了常用扩展包,包括BOM生成器、3D模型增强工具等,显著提升PCB设计效率。

weixin_29184075的博客 549

JBuilder2005实现重构之对重构的支持

Martin Flower在写《重构》时曾经感叹地说,如果有一个自动化的重构工具出现就好了,而且也预言了重构的发展方向是工具自动化重构。JBuilder正好迎合了这声呼喊,到目前为此,可以很公允地说,还没有一种工具在重构的表现上可望其项背。  1、提供了哪些重构的功能  JBuilderX(上一版本)就已经有了重构的功能,JBuilder 2005对代码重构投入了更多的热情,赋予了更多灵活易用的功

masse的专栏 939

别再让会议变‘回音壁’:手把手教你调优WebRTC的AEC3回声消除(附实战代码)

本文深入解析WebRTC的AEC3回声消除技术,提供从参数调优到声学环境适配的实战指南。通过诊断回声特征、解剖核心参数(如filter.length_blocks和delay_estimate_smoothing)以及应对特殊场景(如密闭空间与开放办公区),帮助开发者有效解决视频会议中的回声问题,提升语音通信质量。附有实战代码和调试工具,适合需要优化实时通信体验的开发者。

weixin_29220405的博客 175

C#连接数据库报Authentication to host ‘127.0.0.1‘ for user ‘root‘ using method ‘caching_sha2_password‘ fail

所以导致的,除了上边的办法,还可以把这个加密规则修改一下,这个的修改方式有很多,具体原因是因为MySQL8.0以前的加密规则是。

weixin_42209881的博客 4130

E夏Java轻松行 JBuilder 2005全接触

您现在的位置: Yesky> 软件> 专题教程   时间过得很快,又是一个清闲和放纵的暑假,不过我们处身于竞争激烈的时代,随时“充电”是现代生活的特点,所以不要忘记到天极开发者网络来充充“电”。  JBuilder是Borland公司公司推出的一款优秀的Java集成开发工具,JBuilder 2005是目前的最新版,在这个版本中Borland集成目前众多的优秀技术,如:工程管理、单元测试、代码审查

ark1111的专栏 1606

华为OD机试2025C卷 - CPU调度策略 (C++ & Python & JAVA & JS & GO)

华为OD机试 2025C卷 CPU调度策略,提供Java、C++、Python、Go、JavaScript源码实现,并提供完整思路讲解

qq_45776114的博客 1297

Eclipse和jbuilder开发全接触

重点推荐:十四种Java开发工具点评  在计算机开发语言的历史中,从来没有哪种语言象Java那样受到如此众多厂商的支持,有如此多的开发工具,Java菜鸟们如初入大观园的刘姥姥,看花了眼,不知该何种选择。的确,这些工具各有所长,都没有绝对完美的,就算是老鸟也很难做出选择。本期专题简要介绍了常见的十四种Java开发工具的特点。管中窥豹,虽不是那么全面,期望能对大家有所帮助。[全文阅读]主题社区  主题

fly_java的专栏 1956

Codex入门00-初识神器(小白入门:到底什么是Codex CLI,和ChatGPT写代码有什么不同?)

OpenAI Codex CLI 是 OpenAI 于2025年推出的终端原生AI编程代理,不是在网页里聊天写代码,而是直接在你的终端里自主读代码、改文件、跑命令。它拥有三种安全模式、/goal 持久化任务、云端沙箱执行等独特能力。本文从零介绍 Codex CLI 的核心概念、与 ChatGPT 写代码的本质区别、典型使用场景和费用说明,让你全面认识这个改变开发方式的神器。

yueyeguzhuo的专栏 302

YOLOv11+BiFPN双向特征金字塔:全方位解析多尺度检测性能优化指南

飞书链接:https://ecn6838atsup.feishu.cn/wiki/EhRtwBe1CiqlSEkHGUwc5AP9nQe?购买即可解锁800+YOLO优化文章,并且还有海量深度学习复现项目,价格仅需两杯奶茶的钱,每日更新。函数中添加BiFPN的解析逻辑(找到。链接可用,不要多复制空格了。密码:946m22&8。

FJN110的博客 308

用Jbuilder 2005开发Java Applet应用

 一、JBuilder 2005的新特性  JBuilder 2005加速企业JavaBeans,WEB服务器,XML,移动产品和数据库应用程序开发,双向可视化设计工具和迅速调用J2EE应用服务器,这些应用服务器包括BE...

cqwf95925的博客 280

跟踪雷达点迹处理

1,点迹定义: 假设研究对象为位置x和速度v,预测值是根据这一时刻的x值、v值来预测下一时刻的x、v;测量值是根据传感器也就是雷达得到的,因为各种误差的存在,这两个值都不准确,所以把他们加权融合,得到一个新的量—状态值。 点迹就是所谓的测量值,由雷达对同一个目标探测到的一系列点(假设目标静止,但由于误差的存在,会扫描出不止一个点),航迹对应状态值,是点迹和预测轨迹的加权融合。 2,雷达信号和点迹处理关系: 3,点迹航迹处理流程 4,仿真 clear all; RealData=G

wangjie36的博客 1万+

JBuilder2005实现重构之升级到JDK5.0-Java基础-Java-编程开发

google_ad_client = "pub-8800625213955058";/* 336x280, 创建于 07-11-21 */google_ad_slot = "0989131976";google_ad_width = 336;google_ad_height = 280;//<script type="text/javascript"

java专栏 322

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

JBuilder2005实现重构之升级到JDK5.0 (2005-03-29)

 JDK 5.0在语法上做许多重大的改进文章链接:http://www.yesky.com/427/1927927.shtml JBuilder2005实现重构之升级到JDK5.02005-03-29 08:26 作者: 陈雄华 出处: 天极网 责任编辑:方舟   JDK 5.0在语法上做许多重大的改进,虽然在低版本JDK中开发的源代码几乎可以不做任何修改就

ztw123的专栏 524

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

JBuilder2005实现重构之升级到JDK5.0- -转载到此

今天想把Jbuilder X 下的jdk換成 1.6 ,結果出現錯誤,不支持如下的写法ArrayList list=new ArrayList (); 在网上一查,结果发现要修给 Project->Project Pr...

clack1990的博客 157

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

JBuilder2005实现重构之升级到JDK5.0

 JDK5.0在语法上做许多重大的改进,虽然在低版本JDK中开发的源代码几乎可以不做任何修改就可直接运行于JDK 5.0中。但还是有必须进行版本升级的重构,这样就可以应用JDK 5.0的for和while循环、自动装/拆箱、泛型等改进功能,在使代码更加紧凑的同时,使代码性能得到优化。所以JBuilder专门为低版本提升到JDK 5.0的程序提供了3个重构功能,方便你无缝地实现升级。  1、使工程基

masse的专栏 856

从jbuilder迁移到netbeans的经验

从jbuilder迁移到netbeans的经验最近公司从 Jbuilder 2005 developer 迁移到 netbeans 5.5 r2,顺便作了一些测试,我的基本结论是netbeans 5.5 已经快赶上了jbuilder2005,尽管他们不是同年代的产品,但考虑到netbeans免费的优点,这种迁移是值得的。 下面是一些测试的基本数据,由于对netbeans的特性还

wuyg的专栏 1909

Java集成开发工具

JBuilder改旗易帜 Java IDE市场重洗牌 2007-05-28 07:00 使用JBuilder2007开发Web Services 2007-01-22 09:17 使用JBuilder2007开发Web应用程序 2007-01-20 08:00 用JBuilder2007开发扩展JSF标签的插件 2007-01-16 08:00 与JBuilder2...

wait for you...编程爱好者 272

Java IDE 之 JBuilder PK Eclipse

2019独角兽企业重金招聘Python工程师标准>>> ...

weixin_34080571的博客 293

说说对JAVA的认识

我就来说JAVA吧本来我也没资格说的,毕竟才学了两年,其他的语言也没怎么多接触,就当是献丑了。如果学java是为了考试,没有必要看这篇帖子。个人意见,仅供参考。java是一门非常简单的语言。    所以经常会有人说 四天学会JAVA,半天学会JAVA的。其实也差不多,学完C++,看一 个下午应该就能掌握主要语法了。JAVA继承了C++很多精华思想,C -> C++ -> JAVA。但是JAVA比C

Aid的笔记本 5257

java模式设计全接触

[全部文章]  工具软件  办公软件  操作系统  网络安全  设计在线  程序开发  专题教程  软件下载  论坛重点推荐:什么是设计模式  模式理论的基本思想其实起源于中国,是中国文化的固有思想。你,我,我们中每一个自幼受到中国思想熏陶的人,都自然具有这一基本思想。[全文阅读] Java中的模式   世上一直有一个神话:设计可以并且应该独立于实现的细节,设计通常被看作是一个抽象的概念而实现是一

fly_java的专栏 1394

IntelliJ IDEA 5.1 初步感受 + crack

作者:Flyingis&lt;o:p&gt;&lt;/o:p&gt; 最初开始接触Java的时候总喜欢跟潮流,当经历JDK+UltraEdit的洗礼之后,便开始使用JBuilder&lt;st1:chsdate year="2007" month="8" day="9" islunardate="False" isrocdate="False" w:st="o

Flyingis 145

Borland Ander,学习中目标

声明:这篇文章是我在网上无意中发现的,个人随笔,它要表达的意思,和我要表达的意思一样。我就不多写了,前Borland Ander确实个高手,而且不是一般的高手,我一直以它为目标,我们要向它学习哦。我说的向它的技术学习,有关很多人说他是个叛徒,确实有点,不管如何,他是个人才,当年的Borland面临危机,群雄都要找适合自己生存的地方。 不记得曾经多久没有谈论和关心Borland了。每天...

weixin_30908649的博客 98

InnoDB 内存结构总览:Change Buffer、AHI 与 Log Buffer

本文系统梳理InnoDB内存结构中的ChangeBuffer、Adaptive Hash Index(AHI)与LogBuffer。ChangeBuffer缓存二级索引页不在内存时的变更,减少随机IO,仅在页加载时合并;聚簇索引修改立即执行,因数据本身不可延后。AHI基于高频等值查询自动构建哈希索引,加速定位,仅支持等值操作。LogBuffer为redo log内存缓冲,配合磁盘日志实现崩溃恢复。三者均服务于性能优化,其中ChangeBuffer与AHI共享BufferPool空间,而LogBuffer独立

bksczm的博客 301

信创环境下PageOffice文档控件适配与实践

信创适配做到文档控件这一层,拼的已经不是"有没有国产版本",而是同一个功能在两类终端上是否真的等价。等价的标准很具体:同一次点击能得到同样的结果,同一份公文能得到同样的版式,同一个项目不需要维护两套代码。这背后是三件并不轻松的工作:服务端用一套接口同时支撑两类终端,客户端把两种系统与四种芯片的安装包分发清楚,文档内核层由产品侧跟着 WPS 的版本走。浏览器这一层的压力,则被收进了产品自己的窗口里——升级节奏由产品掌握,不再交给运气。

zi_wu_xian的专栏 327
上一篇: Java程序中用JFreeChart制作图形报表-Java基础-Java-编程开发
下一篇: Java咖啡馆(8)——大话面向对象(下)-Java基础-Java-编程开发
java169
博客等级 码龄19年 27粉丝 2568原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值