网站重构,《重构》 — Delphi示例:影片出租店程序(3、重构——分解并重组Statement)

示例:影片出租店程序(重构——分解并重组Statement) 步骤: 1、提炼“金额计算”代码 1.1、提炼“逻辑泥团”——“提炼方法(Extract Method)” Statement()中一个明显的“逻辑泥团”就是case语句,把它提炼到独立函数“AmountFor”中。 function TCustomer.Statement: string; var totalAmount: doub... [阅读全文]

网站重构,《重构》 — Java示例:影片出租店程序(3、重构——分解并重组Statement)

示例:影片出租店程序(重构——分解并重组Statement) 步骤: 1、提炼“金额计算”代码 1.1、提炼“逻辑泥团”——“提炼方法(Extract Method)” Statement()中一个明显的“逻辑泥团”就是switch语句,把它提炼到独立函数“AmountFor”中。 Eclipse工具重构步骤: (1)、选中代码   (2)、右键选择“Extract Method”   (3)、输... [阅读全文]

网站重构,《重构》 — Java示例:影片出租店程序(2、单元测试)

示例:影片出租店程序(单元测试) 注意: (1)、使用“eclipse”自带的JUnit单元测试   (2)、使用JUnit单元测试工具实现,其中 *其中setUp()方法是构造初始化环境; *测试方法总是以test+方法名构成; 代码: package movie; import junit.framework.TestCase; public class MovieTest extends ... [阅读全文]

网站重构,《重构》 — Java示例:影片出租店程序(1、重构前)

说明: 这是一个影片出租店用的程序,计算每一位顾客的消费金额并打印报表(statement),操作者告诉程序:顾客租了哪些影片、租期多长,程序便根据租赁时间和影片类型算出费用。影片分为三类;普通片、儿童片和新片。除了计算费用,还要为常客计算点数;点数会随着"租片种类是否为新片而有不同。 代码: 1、Test.java package movie; public class Test { /** ... [阅读全文]

网站重构,《重构》 — Delphi示例:影片出租店程序(2、单元测试)

说明: 重构的第一个步骤永远相同:为即将修改的代码建立一组可靠的测试环境。 注意: (1)、使用"CnPack"自带的DUNIT单元测试 (2)、使用DUNIT单元测试工具实现,其中 * TestFrameWork是每个TestCase都必须使用的,后面要使用的TTestCase等类的定义都在TestFrameWork中。 * Dunit是通过RTTI(RunTime Type Informati... [阅读全文]

数据库重构,数据库重构《Refactoring DataBase Evolutionary DataBase Design》介绍

说实话我也是前两周才知道有数据库重构这回事,当时听说这个概念的时候,唯一的反应就是:数据库居然也能重构?刚好上周去图书馆借书,看见了《数据库重构》这本书,就借回来看了几章。下面会结合自己的体会介绍一些这本书的一些观点。 数据库重构概念 数据库重构是对数据库Schema进行的简单改动,在保持行为和信息语义的前提下改进设计。 数据库重构可以重构数据库Schema的结构:比如表、视图的定义、修改; 重构... [阅读全文]

代码重构,C# 谈谈代码重构

代码重构 重构(Refactoring)就是在不改变软件现有功能的基础上,通过调整程序代码改善软件的质量、性能,使其程序的设计模式和架构更趋合理,提高 软件的扩展性和维护性。  一、为什么要重构(Refactoring) 1、·持续偏纠和改进软件设计。 2、·使代码更易为人所理解。 3、·帮助发现隐藏的代码缺陷。 4、·从长远来看,有助于提高... [阅读全文]

数据库重构,数据库重构《Refactoring DataBase Evolutionary DataBase Design》介绍

说实话我也是前两周才知道有数据库重构这回事,当时听说这个概念的时候,唯一的反应就是:数据库居然也能重构?刚好上周去图书馆借书,看见了《数据库重构》这本书,就借回来看了几章。下面会结合自己的体会介绍一些这本书的一些观点。 数据库重构概念 数据库重构是对数据库Schema进行的简单改动,在保持行为和信息语义的前提下改进设计。 数据库重构可以重构数据库Schema的结构:比如表、视图的定义、修改; 重构... [阅读全文]

代码重构,在代码重构中蜕变

这几天,要对我半年前写的代码进行一些整理工作,在看代码时发现当时有很多地方写得不够好,俗称的有“坏味道”,呵呵,重构,必须的。 几年前通读过《重构,改善既有代码的设计》一书,虽然对各种重构模式或方法记忆有限,但精髓还是记住了:改代码而不改变软件的外在表现,循序渐进。 其实,重构是一个开发人员的基本工作内容,是在每天的开发过程中都要用到的。离开了重构和测试,代码质量是难有保... [阅读全文]

设计模式重构,重构之美之一改造面向过程式设计

使用面向对象语言进行过程式设计的例子,可谓俯拾皆是。看这段代码: public class SyncExecutor { public void executeSync() { syncSchools(); syncGrades(); syncFaculties(); }} 这段代码很清晰,分别执行了对学校、年级与教师信息的同步。一目了然,似乎没有什么问题。然而,如果深入阅读各个同步子方法,就... [阅读全文]

色彩重构,重构之美之一引入工厂方法支持扩展

在开发框架时,若要支持扩展性,引入工厂方法或许会成为神来之笔。例如,在QueryWrapper类的addResource()方法中,需要创建一个IndexWriter对象。 public class QueryWrapper { public final void addResource(RequestContext context) { log(”Add new resource.... [阅读全文]

代码重构方法,重构之美之一方法的长度

我曾经在一次演讲中,问过听众这样一个问题:“一个方法的理想行数最多不超过多少行?”如果问一千个人,或许会有一千条答案吧。 这是一个见仁见智的问题。在《软件开发沉思录》一书中,ThoughtWorks的技术负责人Jeff Bay认为:“一个常见的原则是将方法的行数控制在5行之内……”很多人对此感到不可思议。窃以为,关键不在于... [阅读全文]

autoui,OEA中AutoUI重构-新的Command生成设计

OEA框架的核心之一是AutoUI,其职责是面向领域模型及UI元模型进行生成统一的界面。 在本次的迭代开发中,需要对命令按钮的生成方式进行一些定制。由于原来并没有为这样的需求留有特别的扩展点,加之原来的生成代码是过程式的代码、且也变得比较冗长,所以我们决定对这一部分的代码进行重构。 原来的模式 历史代码中,为某一实体类生成命令按钮的流程是这样的: 找到实体类可用的所有命令按... [阅读全文]

网站重构,程序员应知——也说重构

从Martin Fowler最早提出重构的概念开始,到现在已经有很长时间了,重构已经是深入忍心了。与其说它是一种方法,不如说是一种思想、一种习惯。我自己在工作的过程中也一直在使用它来改进自己的程序,所以在此想说说自己的两点认识。重构不“挑食”上面已经提到,重构不仅仅是固定的那些方法,而更是一种思想和编码时候的习惯,所以,不管你是用那种语言编程,都可以应用重构。《重构》那本书... [阅读全文]

网站重构,程序员应知——也说重构

从Martin Fowler最早提出重构的概念开始,到现在已经有很长时间了,重构已经是深入忍心了。与其说它是一种方法,不如说是一种思想、一种习惯。我自己在工作的过程中也一直在使用它来改进自己的程序,所以在此想说说自己的两点认识。重构不“挑食”上面已经提到,重构不仅仅是固定的那些方法,而更是一种思想和编码时候的习惯,所以,不管你是用那种语言编程,都可以应用重构。《重构》那本书... [阅读全文]

代码重构,最简单的重构,你会吗

最近玩Reporting Service报表,微软官方客户端展现实现中有这么一段代码 protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) { // Get report path from configur... [阅读全文]

网站重构,学会重构,避免重构误区

现在有太多是文章讨论各种重构的技术,咱们就不谈了,我们就谈谈要怎么重构。一谈到重构,大家大多认为是运用设计模式,来使你的代码看上去非常优雅。其实重构包括很多,一个变量名的修改、代码格式的编排、分解一个大方法的等等都是属于重构的范畴。我相信肯定有人和我一样,捧一本重构方面的书(《重构与模式》Joshua Kerievsky著,这本就不错),一劲的狂喊这样写代码太漂亮;可是丢开书本,面对自己的代码一直... [阅读全文]

网站重构,如何进行大规模重构

从定义上看,重构意味着改变程序的内部结构,而不改变外部的功能行为。这样做大多是为了提高程序的非功能性属性,从而提高代码的质量。然而,即便是经验丰富的敏捷开发者,在进行大规模的重构时也是如履薄冰。社区中的成员对掌控大规模重构的几种方式进行了讨论。  在最近的讨论中,Andreas想要知道三种可能完成大规模重构的方法中哪种最好。他的方式包括,一次完成——定义最终状态的结构,然后... [阅读全文]

代码重构工具,代码重构

  重构(Refactoring)就是在不改变软件现有功能的基础上,通过调整程序代码改善软件的质量、性能,使其程序的设计模式和架构更趋合理,提高软件的扩展性和维护性。  也许有人会问,为什么不在项目开始时多花些时间把设计做好,而要以后花时间来重构呢?要知道一个完美得可以预见未来任何变化的设计,或一个灵活得可以容纳任何扩展的设计是不存在的。系统设计人员对即将着手的项目往往只能从大方向予以把控,而无法... [阅读全文]

软件重构,软件开发-重构

  重构是对软件内部结构的一种调整,目的是在不改变软件之可察性前提下,提高其可理解性,降低其修改成本。关于重构的至理明言如下:任何一个傻瓜都能写出计算器可以理解的代码,唯有写出人类容易理解的代码,才是优秀的程序员;事不过三,三则重构;当你接获bug提报,请先撰写一个单元测试来揭发这个bug;当你感觉需要撰写注释,请先尝试重构,试着让所有的注释变得多余;当你发现自己需要为程序增加一个特性,而代码结构... [阅读全文]
1 共1条 分1页