`

良好的程序设计——时常重构代码

阅读更多

平时为了业务实现简单,难免写一些if else语句,例如常年堆积起来的业务逻辑代码如下,可以考虑重构使得结构更为清晰:

 

#define SHANGHAI 100
#define BEIJING  101
#define SHENZHEN 102

#define SHANGHAI_RATE 1.01
#define BEIJING_RATE 1.02
#define SHENZHEN_RATE 1.01

void oldFunction(int base_money,int state){

	int rate;
	int money;

	if(state == SHANGHAI){
		rate = SHANGHAI_RATE;
		money = rate * base_money;
	}
	else if(state == BEIJING || state == SHENZHEN){
		rate = (state == SHENZHEN)?SHENZHEN_RATE:BEIJING_RATE;
		money = rate * base_money;
	}
	else{
		rate = 1;
		money = base_money;
	}
}

 功能很简单,就是计算各个城市的某个比例值。可以重构为下面的代码,简洁明了

 

enum Province{
	SHANGHAI = 100,
	BEIJING,
	SHENZHEN
};

double lookup_rate(int province_id){
	//...
}

void newFunction(int base_money,int state){

	int rate;
	int money;

	rate = lookup_rate(state);
	money = rate * base_money;

}
分享到:
评论

相关推荐

    《重构——改善既有代码的设计》第一个案例代码

    本代码是《重构 改善既有代码的设计》书中的第一个案例,用于影片出租点用的程序,对于原始代码的几次重构

    代码重构源码(包含重构前后代码)

    面向对象——代码重构源码(包含重构前后代码),是对《重构——改善既有代码的设计》一书中第一章节实例的模拟实现,实例是为影片出租店所用的租赁程序。

    重构——改善既有代码的设计

    开发人员为何不愿重构程序   A Reality Check(Revisited) 再谈现实的检验   Resources and References for Refactoring 重构的资源和参考文献   Implications Regarding Software Reuse and Technology ...

    重建——改善既有代码的设计

    重构只是对程序内部结构进行调整,让代码更加容易理解,然后更容易维护. 本书清晰地揭示了重构的过程,解释了重构的原理和最佳实践方式,并给出了何时以及何地应该开始挖掘代码以求改善。 章节列表如下: 目录 第...

    重构_改善既有代码的设计

     在本书中,作者Martin Fowler充分展示了何处可能需要重构,以及如何将不好的设计改造为良好的设计。  当对象技术成为老生常谈之后——尤其在Java编程语言之中,新的问题也在软件开发社区中浮现了出来。缺乏经验的...

    重构-改善既有代码的设计+中文版.pdf

    本质上说,重构就是——在代码写好之后改进它的设计。 在代码写好之后改进它的设计?这种说法有点奇怪。按照目前对软件开发的理解,我们相信应该先设计而后编码(coding),首先得有一个良好的设计,然后才能开始...

    重构-改善即有代码的设计.pdf

    在本书中,作者Martin Fowler充分展示了何处可能需要重构,以及如何将不好的设计改造为良好的设计。 当对象技术成为老生常谈之后——尤其在Java编程语言之中,新的问题也在软件开发社区中浮现了出来。缺乏经验的开发...

    重构改善既有代码的设计

    重构 侯捷 重构改善既有代码的设计 软件工程领域的超级经典巨著,与另一巨著《设计模式》并称"软工双雄",全美销量超过100000册,亚马逊书店五星书。 在本书中,作者Martin Fowler充分展示了何处可能需要重构,以及...

    重构-改善既有代码的设计.chm

    在本书中,作者Martin Fowler充分展示了何处可能需要重构,以及如何将不好的设计改造为良好的设计。 当对象技术成为老生常谈之后——尤其在Java编程语言之中,新的问题也在软件开发社区中浮现了出来。缺乏经验的...

    重构_改善既有代码的设计[高清版]

    在本书中,作者Martin Fowler充分展示了何处可能需要重构,以及如何将不好的设计改造为良好的设计。 当对象技术成为老生常谈之后——尤其在Java编程语言之中,新的问题也在软件开发社区中浮现了出来。缺乏经验的开发...

    重构-改善既有代码的设计.pdf

    作者Martin Fowler充分展示了何处可能需要重构,以及如何将不好的设计改造为良好的设计。 当对象技术成为老生常谈之后——尤其在Java编程语言之中,新的问题也在软件开发社区中浮现了出来。缺乏经验的开发人员完成了...

    重构-改善既有代码的设计

    在本书中,作者Martin Fowler充分展示了何处可能需要重构,以及如何将不好的设计改造为良好的设计。 当对象技术成为老生常谈之后——尤其在Java编程语言之中,新的问题也在软件开发社区中浮现了出来。缺乏经验的开发...

    重构-改善既有代码的设计(中文版)

     在本书中,作者Martin Fowler充分展示了何处可能需要重构,以及如何将不好的设计改造为良好的设计。  当对象技术成为老生常谈之后——尤其在Java编程语言之中,新的问题也在软件开发社区中浮现了出来。缺乏经验的...

    重构-改善既有代码的设计中文版

    在本书中,作者Martin Fowler充分展示了何处可能需要重构,以及如何将不好的设计改造为良好的设计。 当对象技术成为老生常谈之后——尤其在Java编程语言之中,新的问题也在软件开发社区中浮现了出来。缺乏经验的开发...

    重构-改善既有代码的设计

    重构-改善既有代码的设计 作者:Martin Fowler,Kent Beck,John Brant ,William Opdyke ,Don Roberts 翻译:侯捷、熊节 软件工程领域的超级经典巨著,与另壹巨著《设计模式》并称"软工双雄",全美销量超过...

    重构-改善既有代码的设计(中文版)

    重构-改善既有代码的设计(中文版) 软件工程领域的超级经典巨著,与另一巨著《设计模式》并称"软工双雄",全美销量超过100000册,亚马逊书店五星书。 在本书中,作者Martin Fowler充分展示了何处可能需要重构,...

Global site tag (gtag.js) - Google Analytics