写点什么

如何安全有效的删代码?

  • 2024-11-20
    北京
  • 本文字数:1137 字

    阅读完需:约 4 分钟

作者:京东科技 王丹迪


删除代码是软件开发过程中常见的一部分,但必须谨慎操作以确保不会引入错误或破坏现有功能。有效的做系统瘦身会降低维护成本,减少冗余代码,减少开发同事踩坑的机会。以下是几个步骤和建议,帮助你更安全有效地删除代码:


  1. 确定范围


  • 优化总是被鼓励的,但方式和时间是同时需要被考虑进去的因素

  • 方式:这个方案是否好,有无漏洞?投入产出效益比如何?

  • 时间:是否要在这个版本,哪个版本能使所有开发投入时间最少(建议跟着需求一起,使测试范围一致)

  • 文档:若为专门的优化版本,则建议维护一份改动文档,方便回顾、检查、及同步相关人


  1. 备份/新建分支


  • 在开始之前,创建项目的完整备份。

  • 使用版本控制系统(如 Git)进行分支管理,以便可以轻松回滚更改。


  1. 理解要删除的内容


  • 确保你完全理解将要删除的代码的作用及其依赖关系,做到这一点,业务流程图和代码流程图也许能更好的帮你一目了然。

  • 如果不确定,询问同事或查看文档,但应当注意,这里的信息不应被完全依赖,它只能作为理解代码的背景渠道。


  1. 测试


  • 在删除代码前后运行所有的自动化测试。

  • 手动测试受影响的区域,特别是那些与用户界面交互部分。


  1. 逐步删除


  • 而不是一次性删除大量代码,尝试分阶段删除。

  • 删除一小部分后立即测试,确保没有引入新的问题。


  1. 注释而非直接删除


  • 如果你不确定是否应该永久删除某些代码,可以先将其注释掉而不是直接删除,并且加告警以备线上出现问题。(要知道,用告警的方式反馈问题是一个非常被动的选择,这应该是你在测试环境已经确定过后的代码,所以梳理这边的逻辑自查并同步测试才是首要任务哦)

  • 这样做可以让你以后更容易地恢复这部分代码。


  1. 清理


  • 下游检查:删除不再需要的文件、变量、函数、接口、混入和方法等,这一步总是会被轻易忽视。

  • 上游检查:检查其他可能引用已删除代码的地方

  • 全局搜索:如果判断所删除的对象的关键字可能为动态拼接,则此时选择部分字符进行匹配,不选择【match whole word】;如果判断关键字可能使用类似 toLowerCase 方法,则不选择【match case】

  • 如果有依赖内部组件库记得也要搜索一下关键字哦

  • 确保所有相关的文档和注释也被更新。

  • 如果有 abtest 下线,则记得将测试、生产 ab 平台的相关版本也一并下线,或备注,以防他人在不知情的情况下更改配置导致产生问题


  1. 提交和记录


  • 将你的更改提交到版本控制系统中,提交之前的二次确认也很重要哦。

  • 提供清晰的提交消息 commit 解释为什么要删除这段代码。


  1. review


  • 让团队成员 review 你的变更。

  • 特别是对于那些不经常接触的代码部分,审查尤为重要。


  1. 监控


  • 发布更改后的软件后,密切监控日志和用户反馈,以便及时发现任何潜在的问题。


通过遵循这些步骤,你可以减少因误删代码而导致的风险,并保持代码库的健康和可维护性。记住,在任何时候都要小心行事,特别是在涉及关键业务逻辑的情况下。

发布于: 刚刚阅读数: 3
用户头像

拥抱技术,与开发者携手创造未来! 2018-11-20 加入

我们将持续为人工智能、大数据、云计算、物联网等相关领域的开发者,提供技术干货、行业技术内容、技术落地实践等文章内容。京东云开发者社区官方网站【https://developer.jdcloud.com/】,欢迎大家来玩

评论

发布
暂无评论
如何安全有效的删代码?_京东科技开发者_InfoQ写作社区