首页 > 其他分享 >如何安全有效的删代码?

如何安全有效的删代码?

时间:2024-11-20 10:41:37浏览次数:1  
标签:测试 删除 有效 代码 更改 安全 文档 版本

作者:京东科技 王丹迪

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

 

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

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

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

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

 

  1. 备份/新建分支
  • 在开始之前,创建项目的完整备份。

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

 

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

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

 

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

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

 

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

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

 

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

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

 

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

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

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

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

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

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

 

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

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

 

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

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

 

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

 

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

标签:测试,删除,有效,代码,更改,安全,文档,版本
From: https://www.cnblogs.com/Jcloud/p/18556410

相关文章

  • 智慧高空作业管控系统上线,提升工地安全水平
    高空作业因其特殊性,往往伴随着极高的风险。传统的安全管理方式主要依赖于人工监管、安全培训以及物理防护措施,虽然在一定程度上能够降低事故发生的概率,但受限于人为因素的不可控性和监管盲区,仍难以全面覆盖所有安全隐患。而智慧高空作业管控系统的引入,则通过集成物联网、大数据......
  • HAL层代码编写注意事项
    基本架构#include<hardware/hardware.h>#include<fcntl.h>#include<cutils/log.h>//HAL规定不能直接使用hw_module_t结构体//因此需要在hw_module_t外再套一层结构体,这也是HAL要求的structmy_module_t{//hw_module_t结构体表示HAL模块的基本信息,成员变量可以任意......
  • 【分享】数据传输新挑战:内外网文件如何实现安全高效摆渡?
    随着信息化的不断深入,越来越多的数据被电子化,这使得数据安全问题变得更加突出。全球42%的企业在过去一年中至少经历过一次数据泄露事故,30%的企业IT人员在数据泄露事故中被开除,50%的企业IT认为文件管控难度大、成本高。为了保护核心数据,大部分企业都实施了内外网隔离,甚至在内部网......
  • 昊星新品发布会以三大主张、四大新品开创实验室安全新纪元
    【2024年11月19日,上海】    珠海昊星自动化系统有限公司(以下简称“昊星”)在2024年慕尼黑上海分析生化展上成功举办新品发布会。本次发布会深入展示了昊星在“匠心、创新、智慧化”方面的融合实践,彰显了昊星在实验室气流控制领域的技术实力和产品优势。多位行业专家出席......
  • 代码随想录:删除链表的倒数第N个节点
    代码随想录:删除链表的倒数第N个节点链表题目如果想找当前节点的前n个节点的话,用双指针法。另外务必用虚头节点。/***Definitionforsingly-linkedlist.*structListNode{*intval;*ListNode*next;*ListNode():val(0),next(nullptr){}*......
  • 代码随想录:两两交换链表中的节点
    代码随想录:两两交换链表中的节点链表题目务必用虚头节点,很多问题会变简单很多/***Definitionforsingly-linkedlist.*structListNode{*intval;*ListNode*next;*ListNode():val(0),next(nullptr){}*ListNode(intx):val(x),next(......
  • springboot毕设高校学生党校信息管理系统安全开发源码+论文+部署
    本系统(程序+源码)带文档lw万字以上 文末可获取一份本项目的java源码和数据库参考。系统程序文件列表开题报告内容一、研究背景随着高校党建工作的不断发展和学生党员队伍的逐步壮大,高校学生党校的管理工作变得日益复杂。传统的人工管理方式已难以满足对众多学生党校相关信......
  • edusrc—记录一次某证书站捡漏拿下证书实战,网络安全零基础入门到精通教程!
    一、信息收集测试证书站首先得对他的资产收集一波首先,在icp备案查询网站查询备案的主域名有哪些https://beian.miit.gov.cn/img然后利用子域名收集工具对二级子域名,三级子域名进行收集,扩大资产范围我一般用oneforall这个工具收集资产,挺好用的,这里放上链接https://gi......
  • 代码随想录算法训练营day51| 卡码网99.岛屿数量 卡码网100.岛屿的最大面积
    学习资料:https://www.programmercarl.com/kamacoder/0099.岛屿的数量深搜.html#思路深度优先搜索和广度优先搜索今天用的邻接矩阵学习记录:卡码网99.岛屿数量(深搜or广搜;用一个自己设计的二维矩阵来控制节点的移动方向:上下左右)点击查看代码fromcollectionsimportdequedi......
  • 嵌入式安卓开发使用LLDB进行断点调试C/C++代码
    GDBorLLDB?较新的安卓NDK已经没有包括gdbserver了,而且安卓官网也说了,后续不会支持gdb了。我自己之前费了很大的功夫,去交叉编译一个gdbserver,但最后用起来一大堆莫名其妙的问题。所以还是使用LLDB吧。获取相应的工具https://developer.android.google.cn/ndk/downloads这里下......