码迷,mamicode.com
首页 > 其他好文 > 详细

关于重构

时间:2014-04-29 13:15:21      阅读:278      评论:0      收藏:0      [点我收藏+]

标签:面向对象   重构   

        工作一两年的程序员们也许都会有一种感觉,要完成一个模块,一个功能或是做出一个东西都不难,真正困扰我们的是怎么做好一个东西。

怎么算是做好呢,我觉得一个好的代码,除了有个好的规范,有好的算法,最重要的还是要有很好的可扩展性,面对不断变化的需求,不断增加的功能,

没有好的扩展性的代码,会让你感觉根本无从下手,经常会让你有重头写过的想法。所以一个好的设计很重要,但是很多的时候我们没有办法设计出一个完美的

作品,没有办法考虑到需求的所有变化方向,所以这个时候重构就很重要了。

        其实很多人都知道重构的重要性,但是很多的时候我们面对成熟功能的一个产品往往很害怕去重构,害怕重构会带来新的问题,会引起大的麻烦。

所以很多的时候我们不应该等到产品做完后,发现无法扩展了才想到重构,而应该把重构带入开发的过程中,在完成有个小模块、小功能后都要想想是否存在缺陷的地方,

如果有就对这个模块的代码进行重构。以下是对需要重构地方的一些理解:

1:去处重复的代码--使修改更加容易。

2.重构难以修改的程序:(1)难以阅读的程序;(2)逻辑复杂的程序(3)添加新行为需要修改已有代码的程序;(4)带复杂条件逻辑的程序。

3.尽量少用实例变量和少传递多的参数,应该把多的参数写成对象,以对象的方式传递,这也使面向对象语言的重要思想。

4.少用switch语句,用多态的形势代替switch。

5.当看到一段过长的函数或一段需要注释的代码时,就应该把代码抽离出来写成独立的函数。

6.关于函数的重构:

    (1)临时变量尽量只被赋值一次;

    (2)以函数对象代替函数;

    (3)以更简单的算法代替原来算法;

    (4)用对象代替数组;

    (5)用常量代替数字;

    (6)封装字段:将公共字段封装成私有字段;

     (7)引入参数对象:把一组相关联的数据参数封装成对象参数传递;

  




关于重构

标签:面向对象   重构   

原文地址:http://blog.csdn.net/liulanzaijia/article/details/24692213

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!