因此,您知道在编程时如何突然意识到代码重用的威力,却决定将编写的两个先前的程序合并为一个程序,而没有意识到所有的复杂性,并且编译器错误需要解决吗? 这是我关于这种经历的故事...
我正在开发一款名为Fantastle Reboot的游戏-顾名思义,这是我早期游戏Fantastle的重启。 我决定将我制作的另一款游戏TallerTower中的内容合并到Fantastle Reboot中。 正是在这一点上,在我开始重构之后,出现了编译器错误……在某一时刻,我有2.5k错误盯着我看!
好消息是,其中的一半多一点可以通过查找和替换(或IDE工具)轻松修复,以修复在重命名期间损坏的引用。 其余的内容需要深入思考如何合并事物的两个相似但截然不同的实现,并在合并后处理更多破碎的引用...以及不可避免的依赖链冲突,导致另一件事需要合并。
大约进行了20次迭代,错误计数逐渐减少...从2.5k减少到1.2k,然后是800、600,... 10、6、2,最后是0! 编译器很高兴,但是...当然,由于不满足运行时检查的要求,程序无法运行。 因此,我的工作还远远没有完成。
让这成为一个重要的教训:重构可能是一个反复的尝试,但是当与分而治之的方法结合使用时,再加上一些修补程序会增加新错误的知识,您最终将像我一样到达那里。