重构
文章平均质量分 80
m13666368773
这个作者很懒,什么都没留下…
展开
-
重构36计(31-36)
第三十一计:置空不用的对象在C++中,销毁一个对象后,一定要把指针置为NULL,否则会出现野指针,最好写成下面这样,delete后立马置为NULL,delete pObject;pObject = NULL;在Java中,当不再需要一个对象时,最好能把它置为null,这样有利于垃圾回收。 第三十二计:善于利用接口 1、 回调型接口 在C语言中,回调函原创 2012-04-23 16:52:33 · 1705 阅读 · 1 评论 -
重构36计(13-18)
第十三计:为集合类型的成员变量提供增删改查函数 对于集合类型的成员变量,直接提供一个函数将其暴露出去是不够妥当的,缺点包括以下几点: 1、添加集合元素时无法校验它的合法性,例如类型是否符合要求、该元素是否已存在等。 2、无法控制集合的容量,集合的容量可能是动态分配的。 所以,更好的做法是为集合类型的成员变量提供增删改查等函数,例如某个类中有名为userList的数组,则可以原创 2012-04-18 09:40:08 · 1860 阅读 · 5 评论 -
重构36计(1-6)
重构,其实很简单,它的目的就是让程序变得更容易被理解,更具有可维护性,结构更合理。重构应该是我们平时写代码过程中必不可少的一部分,比如给函数起了一个更好的名字、把大函数拆分成几个小函数等都属于重构。重构的经典书籍包括Martin Flower的《重构-改善既有代码的设计》、Joshua Kerievsky的《重构与模式》,本系列的所谓36计是我多年来使用最为频繁的重构策略和编码准则,有自己总结的,原创 2012-04-18 09:38:32 · 2729 阅读 · 2 评论 -
重构36计(7-12)
第七计:串联函数调用当一个类的大部分函数被较为频繁地调用,并且包含连续性地调用,那么可以考虑为这个类中那些没有返回值的函数增加返回值,即返回对象本身,这样就可以串联函数调用,使用起来较为方便,举个例子:// 表示用户的类public class User{ public void setName(String name); public void setAge(int原创 2012-04-18 09:39:22 · 2669 阅读 · 4 评论 -
重构36计(19-24)
第十九计:避免类的臃肿 在我接触过的大部分项目中,总会有一个“大胖子“类特别惹眼,一般来说,这“大胖子“实际上是整个系统的核心类之一,之所以“胖“,主要原因是很多人都会把自己需要的函数加到这个类中,却没有人主动请缨来为它“减肥“。可以通过以下几种方式来为它“瘦身”: 1、按照某种特性(如功能、类型等)将这个类拆分成多个类。 2、合并冗余函数,保持函数粒度的最小化。 3、去除原创 2012-04-19 01:21:03 · 7814 阅读 · 12 评论 -
重构36计(25-30)
第二十五计:函数体最多不超过100行 记得以前看过一个函数有9000多行,很壮观啊,从那以后看到长函数时也不奇怪了,我认为过长函数的主要缺点是:1、严重影响代码的阅读,使用到某个变量的地方可能间隔几百甚至上千行,如果if-else嵌套层次较多的话那就更噩梦了。2、不利于代码的重用,短小而独立的逻辑处理单元更容易被重用,而过长的代码段则需要经过进一步分解才行。我觉得函数最好不要超过原创 2012-04-20 15:07:29 · 2065 阅读 · 2 评论