首页 > 其他分享 >软件重构--代码的坏味道(更新中)

软件重构--代码的坏味道(更新中)

时间:2023-06-17 17:12:04浏览次数:35  
标签:重构 抽取 变量 -- 代码 软件 方法

1.重复代码

如何做

  • 把相同的部分抽取为一个方法
    • 兄弟类:方法放在父类中
    • 不相关的类:将重复代码提到一个独立的类中

2.过长的函数

如何做

  • 把复杂的业务拆分成简单的业务,并封装为方法放在本类中
  • 分析方法的临时变量,修改变量名为见名知意的名字,然后消除不必要的临时变量
  • 分析封装好的方法,把这个方法放在最合适的位置,要遵循专家原则
  • 方法搬家后,可以通过修改原类中的抽取出的该方法引用实现调用

如何定位拆分业务

  • 通过代码的注释来定位
  • 条件或循环通常也是提炼的信号。条件表达式通常使用分解条件表达式的手法进行重构;循环语句通常抽取循环体内的代码。

标签:重构,抽取,变量,--,代码,软件,方法
From: https://www.cnblogs.com/delwen/p/17487702.html

相关文章

  • vue封装axios的方式(二)
    vue封装axios的方式(二)创建utils\request.jsimportaxiosfrom'axios'import{Message,MessageBox}from'element-ui'//导入element-ui组件库//创建axios的对象constinstance=axios.create({baseURL:"https://api.cat-shop.penkuoer.com&quo......
  • Nginx 学习笔记
    概述Nginx是一个高性能的HTTP和反向代理服务器,特点是占用内存少,并发能力强1.正向代理如果把局域网外的Internet想象成一个巨大的资源库,则局域网中的客户端要访问Internet,需要通过代理服务器来访问,这种访问就称为正向代理2.反向代理客户端对代理是无感知的,因为客户端......
  • TensorFlow05-3 神经网络损失函数(误差计算)
    ▪MSE▪CrossEntropyLoss(针对分类问题)▪HingeLoss1MSE一般这个N都会取一个banch。或者取到一个banch*类别个数b这里有三种求MSE的方法:loss1=tf.reduce_mean(tf.squaare(y-out))loss2=tf.squre(tf.norm(y-out))/(banch*类别个数b)loss3=tf.reduce_mean(tf.losse......
  • vue封装axios的方式(三)
    vue封装axios的方式(三)与第二种封装基本相同,不同之处在于api的处理格式//引入axiosimportaxiosfrom'axios'//引入qs模块,对数据进行序列化importQSfrom'qs'//引入message模块,toast提示import{message}from'ant-design-vue'//引入storage模块,操作tokenimport......
  • ServiceAccount 访问API实验
    概念SA账号是Pod内的进程使用的关联服务账号的身份,向集群的API服务器进行身份认证。SA(服务账号)是针对运行在Pod中的应用进程而言的,在Kubernetes中这些进程运行在容器中,而容器是Pod的一部分配置SAapiVersion:v1kind:ServiceAccountmetadata:name:sa-testnames......
  • 自适应网站建设-提升企业竞争力的关键战略
    在当今数字化时代,企业要想在竞争激烈的市场中脱颖而出,拥有一个高质量、适应各种设备的网站是至关重要的。随着移动设备的普及和用户的多样化需求,自适应网站建设已经成为提高企业竞争力的关键因素之一。广州名锐讯动MRT将带大家深入探讨自适应网站建设在帮助企业提高竞争力方面的关......
  • 如何通过专业化物业管理系统开发,提升物业管理效率?
    物业管理需要高效的工具来支持,这就需要专业化的物业管理系统开发。随着现代科技的发展,专业化物业管理系统作为一种新型的信息管理系统,被广泛应用于物业管理领域。而专业化物业管理系统开发可以帮助物业管理公司提升管理效率,提高服务质量,同时也能够有效降低物业管理成本。接下来广州......
  • ASEMI代理光宝高速光耦LTV-6341特征,LTV-6341应用
    编辑-ZLTV-6341参数描述:型号:LTV-6341储存温度Tstg:-55~+150℃工作温度Topr:-40~+125℃总输出电源电压(VCC–VEE):35V平均正向输入电流IF:25mA反向输入电压VR:5V输入电流(上升/下降时间):500ns功耗PI:45mW输出IC功耗PO:700mW总功率耗散PT:745mW电源电压VCC:30V工作频率f:75kHz LTV-6341特征:3.......
  • ASEMI代理光宝光耦LTV-6314的工作原理和应用领域
    编辑-Z本文将详细介绍光耦LTV-6314的工作原理和应用领域。首先,我们将介绍光耦的基本概念和工作原理。然后,我们将详细解析LTV-6314的特点和性能参数。接下来,我们将探讨LTV-6314在电力控制、通信设备和工业自动化等领域的应用。最后,我们将总结光耦LTV-6314的优势和适用性。 1、光耦......
  • 闭包(closure)现象
    defmultiply_list():return[lambdax:i*xforiinrange(4)]print([m(100)forminmultiply_list()])forminmultiply_list():print(m(100))defmultiply_gene():return(lambdax:i*xforiinrange(4))print([m(100)forminmultiply_......