`

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

阅读更多

平时为了业务实现简单,难免写一些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;

}
分享到:
评论

相关推荐

    Martin Fowler《重构——改善既有代码设计》(中文版)

    书中强调,重构的动机往往源自于程序设计上的问题,例如难以理解和维护的代码、难以扩展的程序等。通常这些问题不是一次性出现的,而是随着程序的迭代开发逐渐积累起来的。在早期的软件开发中,开发者往往更注重于...

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

    在《重构——改善既有代码的设计》这本书中,作者Martin Fowler介绍了超过70种行之有效的重构方法,并教导开发者在何时以及如何实施这些重构。重构的目标在于改善软件设计,而不是功能的增加或修改。 首先,重构的...

    vc++程序设计——基础与实例分析源代码

    在"VC++程序设计——基础与实例分析源代码"这个资源中,我们可以找到一系列关于VC++编程的基础知识和实例应用。源代码是学习编程最直接的方式,通过阅读和分析这些代码,你可以更深入地理解C++语言的特性和MFC框架的...

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

    《重构——改善既有代码的设计》是Martin Fowler的经典著作,它为软件开发人员提供了一套系统化的重构技术,旨在提升代码质量、可读性和维护性。在这个案例中,我们聚焦于一个影片出租点的程序,通过逐步的重构过程...

    JBuilder 9程序设计——Java程序员成功之路

    《JBuilder 9程序设计——Java程序员成功之路》是一本专为Java开发者设计的指南,尤其对于使用JBuilder 9这一强大的集成开发环境(IDE)的用户来说,它提供了全面而深入的学习路径。JBuilder是Borland公司推出的一款...

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

    - **将过程化设计转化为对象设计 (Convert Procedural Design to Objects)**:采用面向对象的思想重构代码,增强模块间的解耦和可重用性。 - **分解条件式 (Decompose Conditional)**:将复杂的条件判断拆分为多个较...

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

    - **定义**: 将基于过程的程序设计转换为面向对象的程序设计。 - **目的**: 提高代码的模块化程度和可复用性。 - **应用场景**: 当程序主要由函数构成而缺乏类和对象时。 - **示例**: 对于一系列处理数据的操作...

    面向对象程序设计——基于Visual C++:第1章 Visual C++集成开发环境.pptx

    面向对象程序设计——基于Visual C++:第1章 Visual C++集成开发环境 本章主要介绍了Visual C++集成开发环境的概述、特点、安装、集成开发环境窗口、编辑器、菜单栏和工具栏等内容。通过本章的学习,读者能够对...

    《程序设计语言——实践之路》

    根据提供的信息,《程序设计语言——实践之路》这本书主要聚焦于程序设计语言的工作原理和技术细节。虽然部分内容并未给出具体章节或段落,但从标题和描述中我们可以推断出本书旨在为读者提供深入理解程序设计语言的...

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

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

    打豆豆——程序设计大作业

    《打豆豆——程序设计大作业》是一款基于两千行代码实现的简单但有趣的小游戏,旨在展示编程技术在游戏开发中的应用。这个项目涵盖了多个编程和游戏设计的基础知识点,包括但不限于以下几个方面: 1. **基本编程...

    C语言课程设计案例——贪吃蛇代码

    总结来说,这个C语言课程设计案例涵盖了C语言的基础知识,包括控制结构、数组与指针、函数、事件处理、数据结构和文件操作等,是学习C语言和理解程序设计原理的理想实践项目。对于想要提升编程能力的初学者来说,这...

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

    在早期章节中,作者们讨论了如何检测代码中的坏味道,并最终引导读者进入书籍的核心内容——重构手法的目录。每个手法都配以“之前”和“之后”的代码示例,以帮助读者理解具体的应用。 本书还提供了一些关于重构...

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

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

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

    ### 重构——改善既有代码的设计 #### 一、引言 在软件开发的过程中,随着项目的迭代和业务需求的变化,代码库往往会出现各种各样的问题,如可读性差、维护成本高、扩展困难等。这些问题不仅会影响开发效率,还...

    重构-改善既有代码的设计.扫描版.高清版.pdf

    ### 重构——改善既有代码的设计 #### 书籍信息概览 - **作者**: Martin Fowler (美) - **译者**: 熊节 - **丛书名**: 图灵程序设计丛书 - **出版社**: 人民邮电出版社 - **ISBN**: 9787115221704 - **出版时间**:...

    单片机C程序 扫描程序——数码管

    这样的重构可以使程序逻辑更清晰,减少冗余代码,并可能提高程序执行效率。 总的来说,这个程序的核心在于利用定时中断来控制数码管的显示,通过`x`的递增和条件判断来实现扫描和显示刷新,同时处理按键输入事件。...

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

    标题与描述均指向了一个核心概念:重构——改善既有代码的设计。这一主题在软件开发领域具有极其重要的地位,它不仅关乎代码质量的提升,更直接影响到软件的可维护性、可扩展性和开发效率。 ### 一、重构的概念 ...

Global site tag (gtag.js) - Google Analytics