重构与优化-组织函数(1)

embedded/2024/9/24 4:35:23/

1. Extract Method

"Extract Method"(提取方法)是软件工程中的一项基础重构技术,用于改进代码结构、增强代码的可读性和可维护性。此技术的核心思想是识别代码中可复用或者具有独立逻辑责任的部分,并将其抽离出来形成一个新的方法。以下是详细的步骤、原因、好处以及实施时的注意事项。

原因与动机

  1. 提高代码可读性:通过给新方法一个有意义的名称,可以立即传达该段代码的目的,使得其他阅读者(或未来的你)更容易理解代码逻辑。

  2. 增强模块化:将职责分离到不同的方法中,遵循“单一职责原则”,使得代码更易于修改和扩展。

  3. 促进代码重用:一旦逻辑被提取到方法中,可以在程序的多个地方复用,减少重复代码。

  4. 简化调试和测试:独立的方法更易于单独测试和调试,有助于保证代码质量。

实施步骤

  1. 定位代码段:识别出一段可以独立执行的逻辑,这段逻辑应该相对完整,有明确的开始和结束。

  2. 确定方法名称:为新方法选择一个描述性强、易于理解的名称,反映其功能或目的。

  3. 定义参数列表:分析代码段中使用的外部变量,将它们作为参数传递给新方法。确保新方法的内部逻辑对外部状态的依赖通过参数明确表达。

  4. 抽取代码:使用IDE的重构工具(大多数现代IDE


http://www.ppmy.cn/embedded/46819.html

相关文章

JavaScript 浏览器对象模型BOM 概念

JavaScript浏览器对象模型(BOM)是指JavaScript用来操作浏览器窗口、框架和历史记录的一组对象和方法。 BOM提供了一系列对象来操作浏览器的各个部分,使用BOM可以实现以下功能: 访问和操作浏览器窗口的对象,比如window…

集成学习笔记

集成学习 简介 决策树 GBDT 拟合残差 一般 GBDT XGBOOST 弓 1 能表达样本落入的子节点,但是不能把表示结构 2 3.正则项 – 惩罚 防止过拟合,比如一个值总共有10颗树都是由同一颗树决定的,过拟合 5 找到一种方式不依赖于损失函数 …

DolphinScheduler 3.x 执行insert into SQL任务显示成功,但查不到数据

问题:DolphinScheduler 3.x 执行insert into SQL任务成功,但写入数据查询不到 原因:若SQL首行有 “-- ” 开头注释,则是由于 DolphinScheduler 3.x 新版本相较于 2.x 老版本,并未将非查询SQL语句的首行 “-- 注释” 按…

docker目录挂载失败:Check if the specified host path exists and is the expected type

docker目录挂载失败:Check if the specified host path exists and is the expected type docker目录挂载命令,其目的是为了达到修改linux上的文件同步到容器上,从而实现修改容器的配置文件。 在docker目录挂载或启动容器时报错&#xff0c…

23中设计模式之一— — — —命令模式的详细介绍

命令模式 Command Pattern讲解 概念描述模式结构主要角色模式的UIM类图模式优点模式缺点应用场景实例演示类图代码演示运行结果 概念 命令模式(别名:动作,事务) 命令模式是一种行为设计模式,将一个请求封装为一个对象…

翘首以盼的抗锯齿

Antialiasing 实际的图形学中是怎么实现反走样的呢? 我们不希望实际产出的图形有锯齿效果,那怎么办呢? 从采样的理论开始谈起吧 Simpling theory 照片也是一种采样,把景象打散成像素放到屏幕上的过程: 还可以在不…

【架构之旅】SSH框架换成SSM框架

初中级程序员如果想加班,就有加不完的班。 没有时间停下来思考,为什么要用现在的框架,为什么又要改造成其他框架,总是不明所以,慢一拍,负重前行。我们分析下为什么要抛弃古老的SSH框架,去拥抱SS…

C语言基础——数组(2)

ʕ • ᴥ • ʔ づ♡ど 🎉 欢迎点赞支持🎉 个人主页:励志不掉头发的内向程序员; 专栏主页:C语言基础; 文章目录 前言 一、二维数组的创建 1.1 二维数组的概念 1.2二维数组的创建 二、二维数组…