标签:
最近对一段遗留代码进行了重构。这段代码看似简单,却花了我很多时间。现在记录下来一些主要的分析过程,以备参考。
主要的功能就是一个映射:string -> [int | double | string]. 接口如下:
从功能描述可以看到,结果数据的类型是三个基本类型的联合结构(C++)。随着预定义名字的逐步添加,很快出现了新的数据存取要求。
原有的代码基于基本类型,使用了一套复杂的函数逻辑来完成。新的代码采用了明确的类型定义来完成,保持了这段程序的主要功能,即数据存取流程的简单性。
通常我们会抱怨遗留代码中混乱的逻辑,但是不要忽视其中隐藏的功能需求,应该采用更简单的机制去重构,例如本文的数据类型机制。
标签:
原文地址:http://www.cnblogs.com/liuyunfeng/p/4571532.html