要与上位机联调,不得已必须要重构代码,一方面要保证原有的代码继续可用,一方面要保证自己可以独立进行重构的工作,因此,自己从SVN上导出最新的代码,并且确保自己在重构的过程中不再签入代码,这样就可以确保重构完成后,代码可以以替换和覆盖文件这种简单的方式进行签入。这是自己采取的第一个策略。
重构代码之前,自己事先在纸上画出需要修改的大体框架,然后画出代码的目录结构和需要新增的函数和数据结构。
重构代码中,由于大部分数据结构都需要改变,与其一个个查找替换,不如先删除大部分代码,只保留大致的框架,然后一个个添加,期间不断通过编译错误和警告逐步完善代码。
内心的纠结:这次重构实际上已经被拖延了一周,因为每次想到不及早重构的话,问题会更加严重,以致自己无法踏实入梦,正所谓长通不如短痛,于是今天才痛下决心。而真正动手时,又开始踌躇不前,只因感觉毫无把握。光想是不能解决问题的,必须要动手去做才行,于是自己拿起了纸和笔,由于不知从何处开始,所以自己就先把自己内心的疑问和担心的问题写在纸上,然后针对每个问题,想一下解决办法,并将其用笔记录下来,如此开始有了初步思路,然后自己拿出另外一张纸将刚才的思路进行梳理和总结,看看有无纰漏。总结完后,有一种守的云开,见日月的畅快!
总结:
1.重构一定要及早进行,越晚花费的时间和代价就越大;
2.重构之前最好能通过纸和笔记录自己的疑问,梳理自己的思路;
3.要勇敢地去否定自己,更要勇敢地去纠正自己,看上去很难,很复杂的问题,只要自己勇敢地面对它,总能想到解决办法的^_^
4.关注重构过程中自己内心变化和采取的方法,视其为一种体验和学习的机会,否则就不会有这篇帖子啦,呵呵!