博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
重构的信号
阅读量:6885 次
发布时间:2019-06-27

本文共 448 字,大约阅读时间需要 1 分钟。

重构的信号:

1、重复代码

同一个类,多次使用到相同代码,提到一个独立函数

不同的类,多次使用到相同代码,提到一个独立的类

2、过长函数

(1)注释

每当感觉需要用注释来说明点什么的时候,就把需要说明的东西写进一个独立函数中,并以其用途命名。不要嫌麻烦。可以对一组甚至短短一行代码做这件事,哪怕替换后的函数调用动作比函数自身还长,只要函数名称能够解释其用途,也应毫不犹豫地那么做。

(2)条件表达式、循环

条件表达式:若条件逻辑复杂,分解为多个子函数

循环:提到单独的子函数中

(3)过多变量

过长函数中往往有太多变量,影响可读性

(4)过长参数列

太长参数列难以理解,不易使用,可以找到包含这些参数的某个对象,或者将多个参数封装成一个新的对象来传递

 

3、分散式变化、散弹式修改

分散式变化:一个类受多种变化的影响

散弹式修改:一种变化引发多个类相应修改,可以把所有需要修改的代码放进同一个类

 

转载于:https://www.cnblogs.com/Donnnnnn/p/8358414.html

你可能感兴趣的文章
windows下重装xampp并做mysql数据迁移的步骤
查看>>
Java日志组件间关系
查看>>
聊聊前端国际化文案该如何处理
查看>>
JS难点之hoist
查看>>
“独角兽”企业都爱选择腾讯云,背后原因值得考究
查看>>
浅析 Vue 2.6 中的 nextTick 方法
查看>>
199. Binary Tree Right Side View
查看>>
配置SpringBoot方便的切换jar和war
查看>>
2018最佳GAN论文回顾(下)
查看>>
Vue使用element-ui所遇BUG与需求集结(二)
查看>>
弹性公网EIP,让网络更自由、灵活
查看>>
一对一直播源码都实现了哪几种常见的优化技术? ...
查看>>
Unity学习系列一简介
查看>>
利用Python框架pyxxnet_project实现的网络服务
查看>>
一个最简单的WebSocket hello world demo
查看>>
C# 8.0的三个令人兴奋的新特性
查看>>
关于ip_conntrack跟踪连接满导致网络丢包问题的分析
查看>>
烂泥:linux学习之VNC远程控制(一)
查看>>
如何解决Xshell使用时中文字体是躺倒显示的问题
查看>>
Scala函数的定义的几种写法
查看>>