现在,我们要回到代码上来动手了。
重构代码,一定要从 发生调用 的地方开始着手。
这是因为 主调处是最接近用户语境的地方,这里我们根本不关心具体的实现细节,只要知道到底要干什么,到底做了什么。
——程序设计的失误,能引发最严重问题的地方就是这里。
这个道理很简单:我不管你是坐飞机还是坐火车还是走路或者实在很糟糕,要先下山转马车到镇里.......但如果我其实想让你去东边,结果你去了西边,那就南辕北辙了。
假如你只是错误选择了交通方案,再严重也不过是花更多的时间或者钱 而已。
所以,不管是重构某一个部分还是整个程序,都必须从主调的地方开始,对于整个程序,自然是main函数。
这里,楼主使用的是IAR环境。
我们知道这个项目,实际上是两个项目,一个是发送方,LinkTo,一个是监听方,LinkListen。
有两个不一样的main函数,通过工作环境切换来完成。
这首先就是一个很别扭的地方。
因为我们更喜欢用 条件编译 来选择编译不同部分代码;
这笔账先记下。
——重构的一个原则就是,发现让你不爽的地方,就像Kent Beck说的,嗅到坏味道,就要把它干掉。
再看。
这两个main源文件 很长很复杂,而且很令人讨厌。
因为它把所有用到的函数实现都放在这里。
我们看函数总是要首先去找main函数,然而,因为这个主源文件里,散乱放着其它函数,加上无处不在无用啰嗦的注释,我们每次都要费不少时间才能找到main函数,这是一件更加不能容忍的事情。
够了,现在我们要动手了。 |