我被分配了重构 Delphi 单元的任务。哇。 10000 行代码,没有文档,大量的复制和粘贴代码。
有很多用复制和粘贴制作的方法可以重构,无论如何,我迷失在所有这些行中,我有界面部分,我可以在其中“找到我的路”,但总的来说,你建议如何处理此类任务?
Thanks.
- 为自己获取一份副本有效地处理遗留代码作者:迈克尔·费瑟斯。它具有各种安全重构代码以使其在测试框架下运行的技术。示例大多是 Java 和 C++ 语言,但应该很容易理解。
- 安装第三方重构工具(或多个),例如 CodeRush for Delphi(遗憾的是不再开发)、Castalia 或 ModelMaker Code Explorer。 Delphi 内置了一些重构支持,但根据我的经验,它太有限了,并且往往会在非常大的代码库上窒息。
- 买一本《Simian》。它不直接支持 Object Pascal,但其纯文本解析器工作得足够好。如果有足够多的人请求支持 Object Pascal,我相信他们会添加它。我还没有发现任何其他代码重复检测工具像 Simian 一样强大。
我还建议添加书签http://www.refactoring.com/catalog/ http://www.refactoring.com/catalog/ and http://www.indusciallogic.com/xp/refactoring/catalog.html http://www.industriallogic.com/xp/refactoring/catalog.html.
获得一份副本也不会有什么坏处干净的代码:敏捷软件工艺手册作者:罗伯特·“鲍勃叔叔”·马丁等人识别坏代码很容易。知道你何时编写出好的代码要困难得多。
警告:专注于重构您需要处理的代码。很容易从兔子洞开始,最终花费数月时间重构与手头任务不直接相关的代码。
并为自己省去一些麻烦。不要尝试同时“修复”代码并重构它。重构first,然后修复错误或添加新功能。记住,重构是在不改变外部行为的情况下进行修改.
抵制尝试完全重写的冲动。我经历了惨痛的教训才知道,满足用户需求的蹩脚代码比不满足用户需求的干净代码更可取。蹩脚的代码总是可以逐步改进,直到成为值得骄傲的东西。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)