主页 > 快资讯 > 正文

拯救你的旧代码库,不得不看的 11 条军规(3)

2017-07-10 09:25来源:how123编辑:顾小北

扫一扫

分享文章到微信

扫一扫

关注99科技网微信公众号

  这个阶段也可以修改变量和函数命名、修改数据结构,以提高代码清晰度和一致性。记得添加相关测试代码(根据需要,可进行单元测试)。

  修复 bug

  现在你准备好进行一些最终用户可见的变化,第一件事情将是修复多年来积累在队列中的 bug。

  像往常一样,首先确认 bug 仍然存在,然后编写一个测试并修复 bug,你的持续集成和端到端的测试可以帮你避免由于缺乏理解或某些错误而导致的任何错误及外围问题。

  数据库升级

  如果上述工作都已经完成,你可以再次拥有可靠且可维护的代码库,你可以选择更改数据库 schema 甚至替换数据库。

  已经完成的上述工作都将有助于您以无负担的方式进行变革,而无需担心任何意外,你可以使用新的代码和所有的测试来测试新的数据库,以确保你的迁移没有任何问题。

  更稳健的重构之路

  在路线图上前行

  恭喜,到这里你已经走出了丛林,现在已经准备好可以实施任何新功能了。

  不要尝试彻底重写

  彻底重写是一种几乎保证会失败的项目。

  一方面,你是在未知的领域开始,你甚至不知道要重构什么。

  另一方面,你也将所有的问题推到最后一天,就在你用新系统启用之前的那一天。很悲剧的是,那也是你失败的时刻。

  业务逻辑的假设最终会证实存在问题,那时你将突然了解到为什么旧系统会用某种奇怪的方式来工作,最终也会意识到能将旧系统放在一起工作的人也不都是白痴。

  如果你真的想要将公司(以及你自己的信誉)带向一个泥潭,就来一个彻底大重写吧!但如果你足够聪明,彻底重写系统通常不会成为会议桌上的一个讨论选项。

  替代方案:迭代式改进

  要解开这些线团最快的方法就是从你已经理解的代码入手(它可能是一个外围设备,但也可能是一些核心模块),并在它的旧的上下文的范围内尝试逐步改进。

  如果旧的构建工具不再可用,你将不得不使用一些技巧(见下文),但至少在你开始更改时,尽可能多地保持旧的系统工作。一个典型的提交通常只包含数行代码。

  发布到生产环境

  所有修改尽可能发布到生产环境,即使修改的代码是最终用户不可见的,因为当你对系统了解不足时,只有生产环境才会告诉你,新的修改哪里会有问题。

  如果这个问题只是在小的改变之后出现,你将获得几个优势:

  很容易弄清楚出了什么问题

  处于改善流程的良好状态

  立即更新文档,以记录获得的新见解

  合理使用代理服务器

  如果你正在重构一个 Web 系统,你可以在最终用户和旧系统之间部署一个代理服务器。你可以精确控制每个 URL,哪些请求进入旧系统,哪些请求路由到新系统,从而可以更轻松,更精细地控制运行的内容。

     投稿邮箱:jiujiukejiwang@163.com   详情访问99科技网:http://www.fun99.cn

相关推荐
灵光闪应用升级 不会代码也能用AI生成小游戏 灵光闪应用升级 不会代码也能用AI生成小游戏

12月4日消息,今日,通用AI助手灵光宣布重要升级,上线闪游戏功能。区别于传

快资讯2025-12-04

AI变现新路径?ChatGPT代码曝光广告计划,CEO曾称 AI变现新路径?ChatGPT代码曝光广告计划,CEO曾称

【TechWeb】人工智能领域的“纯净”时代或将被打破。近日,开发者Tibor Blaho在社

快资讯2025-12-02

微软Win10/Win11被披露安全漏洞,可提权访问你的隐 微软Win10/Win11被披露安全漏洞,可提权访问你的隐

IT之家 11 月 22 日消息,科技媒体 techlusive 昨日(11 月 21 日)发布博文,报道称

快资讯2025-11-22

双11“精神囤货”指南:华为音乐、视频、阅读, 双11“精神囤货”指南:华为音乐、视频、阅读,

又是一年双十一,当购物车被各种生活好物填满,你是否想过,也该为自己的休

快资讯2025-11-12

Steam错误代码101不用慌!网络优化、DNS更换等多招 Steam错误代码101不用慌!网络优化、DNS更换等多招

Steam平台作为全球知名的数字游戏发行与社交平台,凭借其丰富的游戏库和便捷

快资讯2025-09-10

文件移动缓慢?揭秘五大幕后真凶,让你的电脑 文件移动缓慢?揭秘五大幕后真凶,让你的电脑

在日常电脑使用中,文件移动速度缓慢成为许多用户面临的困扰,这一问题不仅

快资讯2025-08-30

低代码物联网平台:赋能行业,加速物联网应用 低代码物联网平台:赋能行业,加速物联网应用

在数字化转型的浪潮中,低代码物联网平台正逐渐成为连接物理世界与数字世界

快资讯2025-08-25

Steam错误代码137解决方案:优化网络、清理缓存轻 Steam错误代码137解决方案:优化网络、清理缓存轻

Steam平台,作为游戏爱好者的首选之地,近期却让不少玩家遭遇了错误代码137的

快资讯2025-07-30

电脑数据备份全攻略:七大实用方法守护你的数 电脑数据备份全攻略:七大实用方法守护你的数

在数字化日益盛行的当下,电脑已成为我们工作、学习及日常生活中不可或缺的

快资讯2025-07-29

抖音个性化推荐揭秘:大数据与AI如何精准匹配你 抖音个性化推荐揭秘:大数据与AI如何精准匹配你

在数字娱乐的浪潮中,抖音以其独特的魅力吸引了无数用户,让人不禁好奇:为

快资讯2025-07-24