IMZRH的日志

努力成为一个有用的人
随笔 - 481, 文章 - 0, 评论 - 1588, 阅读 - 174万

导航

< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

10 2009 档案

摘要:我经常可以在一些遗留代码中见到一些类明确的违反了SRP(Single Responsibility Principle)原则,这些类通常以“Utils”或“Manager”后缀结尾,但有时这些类也没有... 阅读全文

posted @ 2009-10-19 16:57 张荣华 阅读(1131) 评论(1) 推荐(0) 编辑

摘要:今天要说的重构来自于Martin Fowlers的重构目录,你可以在这里看到原始的描述。 避免双重否定重构本身非常简单实现,但我却在太多的代码中见过因为双重否定降低了代码的可读性以致于非常让人容易误解... 阅读全文

posted @ 2009-10-19 15:33 张荣华 阅读(362) 评论(1) 推荐(0) 编辑

摘要:契约式设计(Design By Contract DBC)规定方法应该对输入和输出进行验证,这样你便可以保证你得到的数据是可以工作的,一切都是按期望进行的,如果不是按期望进行,异常或是错误就应该被返回... 阅读全文

posted @ 2009-10-19 15:04 张荣华 阅读(456) 评论(1) 推荐(0) 编辑

摘要:今天要说的重构基于c2 wiki上的条目,你可以在这里查看该条目,在这里还有另一篇文章。 简单的来说,当你的代码中有很深的嵌套条件时,花括号就会在代码中形成一个箭头。我经常在不同的代码中看到这种情况,... 阅读全文

posted @ 2009-10-16 16:59 张荣华 阅读(686) 评论(1) 推荐(0) 编辑

摘要:“引入参数对象”重构来自于Martin Folwers的重构目录,你可以在这里找到原始的描述。 有时当一个方法所需要的参数大于5个后,读懂该方法的签名就会变得比较困难,就像下面的代码: 1: publ... 阅读全文

posted @ 2009-10-16 13:37 张荣华 阅读(629) 评论(1) 推荐(0) 编辑

摘要:今天要说的重构没有明确的出处,分解方法是我给它起的名字,我相信肯定还有别人做过类似的重构但却叫别一个名字,如果你在看完本文后觉得还有比“分解方法”更好的名字,请通知我。 分解重构是元重构的一种,所做... 阅读全文

posted @ 2009-10-16 13:30 张荣华 阅读(502) 评论(1) 推荐(0) 编辑

摘要:今天要说的重构来自于Martin Fowlers的模式目录,你可以在这里找到它。 昨天我们说的“提取子类”重构是指当基类中的一个责任不被所有的子类所需要时,将这些责任提取到合适的子类中。而我们今天所说... 阅读全文

posted @ 2009-10-15 14:45 张荣华 阅读(421) 评论(1) 推荐(0) 编辑

摘要:今天要说的重构来自于Martin Fowlers的模式目录,你可以在这里找到它。 当你的基类中存在一些方法不是所有的子类都需要访问,你想将它们调整到子类中时,这个重构会很有用。我举一个简单的例子,我们... 阅读全文

posted @ 2009-10-15 14:39 张荣华 阅读(505) 评论(0) 推荐(0) 编辑

摘要:今天要说的重构最早由Gof提出,在网络上可以找到很多的资源。两个不同的工厂模式可以在这里找到:Abstract Factroy Factory Method 通常我们需要在代码中设置一些对... 阅读全文

posted @ 2009-10-15 14:30 张荣华 阅读(691) 评论(0) 推荐(0) 编辑

摘要:今天要说的重构来自于我日常工作中的发现而不是其它的什么地方,我在日常工作中经常使用这个重构,我想针对今天要解决的问题可能还有其它的解决方案。 在日常的编码中我们经常需要用到异常来控制程序流,下面的代码就是一个例子:     1: public class Microwave 2: { 3: private IMicrowaveMotor Motor { get; se... 阅读全文

posted @ 2009-10-13 15:49 张荣华 阅读(476) 评论(0) 推荐(0) 编辑

摘要:今天要说的重构来自于Martin Fowler’s 的重构目录,你可以在这里找到原始描述。 这个经常使用的重构的使用场景是在类中有一些方法你想把它们提取到父类中以便同一继承层次的其它类也可以访问这些方... 阅读全文

posted @ 2009-10-12 10:14 张荣华 阅读(326) 评论(0) 推荐(0) 编辑

摘要:有时当我们的条件关系比较复杂时,代码的可读性会比较差,所以这时我们应该根据条件表达式是否需要参数将条件表达式提取成可读性更好的属性或是方法,如果条件表达式不需要参数则可以提取成属性,如果条件表达式需要参数则可以提取成方法。下面是我们来看一段重构前的代码: 1: public class RemoteControl 2: { 3: private string[] Functions { get; ... 阅读全文

posted @ 2009-10-12 09:49 张荣华 阅读(478) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示