IMZRH的日志

努力成为一个有用的人

导航

上一页 1 ··· 6 7 8 9 10 11 12 13 14 ··· 32 下一页

2009年9月28日

摘要: 现在让我们来看提取方法这个重构,这是一个简单却又好处多多的重构,首先,它通过提供有意义的方法名会使代码更具可读性;其次见名知义的方法名减少了维护人员的工作量;最后它更好的可读性减少了对代码的臆断,从而... 阅读全文

posted @ 2009-09-28 14:04 张荣华 阅读(328) 评论(0) 推荐(0) 编辑

摘要: 现在让我们来看一个经常被忽略的重构,提取接口。但我们注意到超过一个的类要使用某一个类中方法的子集时,我们应该切断它们之间的依赖,让消费者(consumers)使用接口,这非常容易实现但却降低了代码的耦... 阅读全文

posted @ 2009-09-28 14:03 张荣华 阅读(386) 评论(0) 推荐(0) 编辑

摘要: 有时继承老是被滥用,继承应该仅仅使用在逻辑环境(logical circumstances)中,但却经常因为编程的方便性被滥用,我见过许多因为滥用继承导致的复杂性增加,来看下面的代码: 1: publ... 阅读全文

posted @ 2009-09-28 14:00 张荣华 阅读(744) 评论(0) 推荐(0) 编辑

摘要: 这是我使用最多并觉得最有作的重构。有时我们给方法、类或是参数命名时并不能做到见名知义,这样容易引起对代码的误解中,当这种情况发生时,我们可以利用重命名重构来消除这种误解。   &#... 阅读全文

posted @ 2009-09-28 13:59 张荣华 阅读(273) 评论(0) 推荐(0) 编辑

摘要: 与提升方法相似,提升字段也有一个相反的重构叫“降低字段”,降低字段是一个简单到不需要我们多说的重构,来看下面的代码:     1: public abstract cla... 阅读全文

posted @ 2009-09-28 13:54 张荣华 阅读(345) 评论(0) 推荐(0) 编辑

摘要: 今天的重构指南和“提升方法”有点类似,不过要提升的不是方法,而是字段,让我们来看下面的代码: 1: public abstract class Account 2: { 3: } 4:  5: public class CheckingAccount : Account 6: { 7: private decimal _minimumCheckingBalance = 5m; 8: } ... 阅读全文

posted @ 2009-09-28 13:53 张荣华 阅读(470) 评论(0) 推荐(0) 编辑

2009年9月20日

摘要: 在做项目实施时,经常需要给用户提供一个excel模板,让用户根据自己的实际情况在excel中按要求录入一个基础数据(比如部门人员数据、在线考试的试题库、设备信息等),这样做的原因一个是因为用户一般对excel比较熟悉;另一个原因是使用excel的话客户可以直接从其它数据源导入,而不是从头开始录入。当用户将处理好的电子表格交给我们后,一般实施人员会利用自己熟悉的工具将excel导入到系统数据表中,我... 阅读全文

posted @ 2009-09-20 20:19 张荣华 阅读(3910) 评论(2) 推荐(1) 编辑

2009年9月17日

摘要: 最近从园区里出来的时候发现许多人回家时都拎着花生油和月饼,开始没有意识到,后来经过同事的提醒才知道是仲秋节快到了,一些单位将福利提前发下来了,按说仲秋佳节,公司关怀员工经大家发送福利是一件皆大欢喜的事,但事实却不是这样的,因为我看到人们拎着东西的时候都在三三俩俩的议论,有的说今年发的不如去年好,有的说别的公司发的更少,议论的内容各不相同,但有一点却是大家都抱怨的,就是为什么要发东西,不能直接发钱吗... 阅读全文

posted @ 2009-09-17 09:47 张荣华 阅读(413) 评论(0) 推荐(0) 编辑

2009年9月16日

摘要: 昨天我们讨论了利用“提升方法”重构将多个子类要用到的方法提升到父类中,今天我们来看和“提升方法”相反的重构---降低方法,下面是待重构的代码: 1: public abstract class Animal 2: { 3: public void Bark() 4: { 5: // code to bark 6: } 7: } 8: 9: publi... 阅读全文

posted @ 2009-09-16 09:32 张荣华 阅读(430) 评论(1) 推荐(0) 编辑

摘要: 提升方法的重构是指将方法提升到继承链的较高层次,该重构一般发生了当一个方法需要被更多的继承链中的多个实现使用时。 1: public abstract class Vehicle 2: { 3: // other methods 4: } 5: 6: public class Car : Vehicle 7: { 8: public void Turn(Direction direction) 9... 阅读全文

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

2009年9月15日

摘要: 今天的重构指南是关于移动方法的,移动方法是一个简单却容易被忽略的重构,正如它的名字所表达的意思一样,移动方法就是将方法移动到合适的位置。让我们来看下面的待重构代码: 1: public class BankAccount 2: { 3: public BankAccount(int accountAge, int creditScore, AccountInterest accountIntere... 阅读全文

posted @ 2009-09-15 17:16 张荣华 阅读(503) 评论(1) 推荐(0) 编辑

摘要: 在有些情况下不将类中的集合对象暴露给用户是合理的,特别是当您为集合提供了另外的添加和删除方法时。基于这个原因,只暴露一个仅仅能遍历但不能修改的集合是明智的,下面让我们来看一段代码: 1: public class Order 2: { 3: private List<OrderLine> _orderLines; 4:  5: public IEnumerable<Or... 阅读全文

posted @ 2009-09-15 17:15 张荣华 阅读(718) 评论(1) 推荐(0) 编辑

2009年9月11日

摘要: 软件开发中有一个极端的说法是“所有硬编码的字符串都应该放到资源文件中”,我个人对这个观点深表赞同,但有时限于项目的进度或是别的原因,还是习惯性的在代码中写了一些硬编码的字符串,比如像下面的这句代码: public void TestMethod() { string s = "这是一个测试字符串"; }如果在代码中包含了大量的硬编码字符串,而在项目后期每当字符串的值发生变... 阅读全文

posted @ 2009-09-11 17:12 张荣华 阅读(1475) 评论(1) 推荐(0) 编辑

2009年8月28日

摘要: for /r ./ %a in (./) do @if exist "%a\.svn" rd /s /q "%a\.svn" 阅读全文

posted @ 2009-08-28 14:48 张荣华 阅读(783) 评论(0) 推荐(0) 编辑

摘要: 用ramdisk做了一个内存硬盘,然后就想把一些临时文件放在内存硬盘上,系统临时文件夹通过修改环境变量的方式设置了,ie临时文件夹也通过ie的工具菜单时行了设置,但对于常用的firefox却没有提醒设置的地方,上网搜索后,得知方法如下: 在Firefox的地址栏中输入“about:config”,这样就打开firefox的配置页,这时在页面中右击鼠标,选择“新... 阅读全文

posted @ 2009-08-28 11:07 张荣华 阅读(1884) 评论(0) 推荐(0) 编辑

上一页 1 ··· 6 7 8 9 10 11 12 13 14 ··· 32 下一页