特种兵—AK47

关注产品细节,重视用户体验

重构36计(31-36)

第三十一计:置空不用的对象 在C++中,销毁一个对象后,一定要把指针置为NULL,否则会出现野指针,最好写成下面这样,delete后立马置为NULL, delete pObject; pObject = NULL; 在Java中,当不再需要一个对象时,最好能把它置为null,这样有...

2012-04-23 16:52:33

阅读数:1408

评论数:1

重构36计(25-30)

第二十五计:函数体最多不超过100行   记得以前看过一个函数有9000多行,很壮观啊,从那以后看到长函数时也不奇怪了,我认为过长函数的主要缺点是: 1、严重影响代码的阅读,使用到某个变量的地方可能间隔几百甚至上千行,如果if-else嵌套层次较多的话那就更噩梦了。 2、不利于代码的重用,短...

2012-04-20 15:07:29

阅读数:1843

评论数:2

重构36计(19-24)

第十九计:避免类的臃肿   在我接触过的大部分项目中,总会有一个“大胖子“类特别惹眼,一般来说,这“大胖子“实际上是整个系统的核心类之一,之所以“胖“,主要原因是很多人都会把自己需要的函数加到这个类中,却没有人主动请缨来为它“减肥“。可以通过以下几种方式来为它“瘦身”:   1、按照某种特性(...

2012-04-19 01:21:03

阅读数:7576

评论数:14

重构36计(13-18)

第十三计:为集合类型的成员变量提供增删改查函数   对于集合类型的成员变量,直接提供一个函数将其暴露出去是不够妥当的,缺点包括以下几点:   1、添加集合元素时无法校验它的合法性,例如类型是否符合要求、该元素是否已存在等。   2、无法控制集合的容量,集合的容量可能是动态分配的。   所以...

2012-04-18 09:40:08

阅读数:1653

评论数:5

重构36计(7-12)

第七计:串联函数调用 当一个类的大部分函数被较为频繁地调用,并且包含连续性地调用,那么可以考虑为这个类中那些没有返回值的函数增加返回值,即返回对象本身,这样就可以串联函数调用,使用起来较为方便,举个例子: // 表示用户的类 public class User{ public vo...

2012-04-18 09:39:22

阅读数:2407

评论数:5

重构36计(1-6)

重构,其实很简单,它的目的就是让程序变得更容易被理解,更具有可维护性,结构更合理。重构应该是我们平时写代码过程中必不可少的一部分,比如给函数起了一个更好的名字、把大函数拆分成几个小函数等都属于重构。重构的经典书籍包括Martin Flower的《重构-改善既有代码的设计》、Joshua Kerie...

2012-04-18 09:38:32

阅读数:2438

评论数:2

提示
确定要删除当前文章?
取消 删除
关闭
关闭