知识大全 JBuilder2005实现重构之分布式重构

Posted 工程

篇首语:知识的用处就是夜行人的火把。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 JBuilder2005实现重构之分布式重构相关的知识,希望对你有一定的参考价值。

JBuilder2005实现重构之分布式重构  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!

  由于软件工程的复杂性 一个大型的软件常常被切割成不同的子软件模块 并由不同的团队承担 假设一个大型的软件分为三个子模块     A模块 底层处理类模块     B模块 高层业务模块     C模块 高层业务模块     A模块作为底层的模块 会被B和C模块调用 但因为A模块由单独的团队开发(在JBuilder中表现为单独的工程) A模块的重构仅在当前工程中进行 JBuilder会记录重构轨迹 并允许你通过JAR档案包含这些重构的记录 当B及C模块工程通过工程类库重新引入A的JAR档案文件时 可以将在A工程中的重构应用于B及C模块工程 这种重构 解决了关联工程间的重构问题 称为分布式重构     为了演示分布式重构 我们重新创建了一个新的工程mon_lib 开发一个DateUtils类     代码清单 DateUtils类     package mon_lib;   public class DateUtils     public static String getNowTime()         return +(new java util Date());           将mon_lib工程打成mon_lib jar包输出 并在myrefactor工程目录下创建一个extralib子文件夹 将mon_lib jar拷贝到这个文件夹中 在工程扩展类库中引用这个JAR包     在myrefactor中新建一个Distribute类 引用mon_lib jar中的DateUtils getNowTime() 其代码如下所示     代码清单 在myrefactor工程中引用mon_lib工程的类     package myrefactor ;   import mon_lib DateUtils;   public class Distribute       public void printCurrTime()         System out println(DateUtils getNowTime()) ;           过了一段时间 mon_lib工程的负责人对DateUtils getNowTime()方法名进行重构 将其更名为getCurrTime() 通过Refactor >Refactoring History 调出Refactoring History对话框 如下图所示    educity cn/img_ / / / jpg>  图 重构历史记录    对话框中列出了当前工程所有重构历史记录 也许你不希望将所有的重构都分发出去 那么你可以通过Remove按钮删除那些重构记录     为了这个方法重命名重构分发到引用了工程的其他工程中 需要在打包时包括重构的信息     如果mon_lib工程资源树中已经有了一个打包节点 仅需右击该节点在弹出菜单中选择Properties更改打包的设置即可 在弹出的Properties for Archive 选择Refactoring设置页 如下图所示    educity cn/img_ / / / jpg>  图     在档案文件中包含重构记录    重新打包生成mon_lib jar档案文件 将这个档案文件覆蓋<myrefactor工程目录>/extralib/mon_lib jar     打开myrefactor jpx工程 通过Refactor >Distributed Refactorings 打开Distributed Refactorings对话框 切换到Pending Refactorings标签页 如下图所示    educity cn/img_ / / / jpg>  图 未决的重构列表    由于我们在mon_lib工程中对DateUtils类的getNowTime()重构为getCurrTime() 所以列表中仅中一条记录 记录简要描述了重构的变化     注意     如果你在打开工程的同时覆蓋mon_lib jar Distributed Refactorings对话框的Pending Refactorings标签页中并不会列出未决重构项 此时 你需要关闭并重启myrefactor jpx工程     在列表中选择这条未决的重构记录 点击Apply应用这个重构 Distribute类的调用被更改过来     代码清单 应用分式重构后的Distribute类     …   public class Distribute       public void printCurrTime()         System out println(DateUtils getCurrTime()) ;           你也可以通过ErrorInsight应用分布式的重构 在工程扩展类型被的API被更改后 引用到发生重构类的当前工程类的结构窗格会出现一个 图标 右击这个图标 在弹出的菜单中选择重构修复菜单项 如这个Distribute类 我们可以选择Refactor Method 弹出如下的对话框    educity cn/img_ / / / jpg>  图 通过ErrorInsight进行重构修复的对话框    点击OK JBuilder不但会在当前类中应用这个方法的重构 还会在查找当前工程中其他引用这getNowTime()方法的地方 一并重构     切换到  educity cn/img_ / / / jpg>  图 的Completed Refactorings标签页中将列出所有完成的重构项      总结    有了重构 就应当尽量少用替换功能了 重构保证了更改的安全性和一致性 有了JBuilder重构功能的支持 对工程进行代码重构有如行云流水 一气呵成 重构不是阶段性的工作 当你一发现代码队伍阵脚不齐 或说闻到代码的坏味道时 就应该进行重构了 即使你的工程已经被其他工程当成API使用 也不必担心 JBuilder分布式重构的功能使开发伙伴团队只需要少许的工作 就可以保持代码的一致性了 cha138/Article/program/Java/hx/201311/26389

相关参考

知识大全 JBuilder2005实现重构之重构前的侦察

JBuilder2005实现重构之重构前的侦察  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  有

知识大全 JBuilder2005实现重构之类内部提炼

JBuilder2005实现重构之类内部提炼  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  提炼

知识大全 项目重构之命令模式

  项目中有个业务处理类大小K代码行看此类差点雷死我如今如要增加业务逻辑大约个吧此类如果随着项目工程的二期三期如次添加逻辑迟早有一天大小达到M噢mygod细心研读前人的工作总结发现其中有点可改造的蛛丝

知识大全 Oracle在线索引重构

Oracle在线索引重构  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  查询某个表的索引属于哪个

知识大全 JBuilder2005单元测试之JUnit框架

JBuilder2005单元测试之JUnit框架  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  

知识大全 JBuilder2005 Struts深度体验之改造

JBuilder2005Struts深度体验之改造  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 

知识大全 JBuilder2005 Struts深度体验之概述

JBuilder2005Struts深度体验之概述  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 

知识大全 JBuilder2005单元测试之创建测试固件

JBuilder2005单元测试之创建测试固件  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  在

知识大全 JBuilder2005创建开发文档之编写注释

JBuilder2005创建开发文档之编写注释  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  可

知识大全 JBuilder2005单元测试体验之测试配置

JBuilder2005单元测试体验之测试配置  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  在