Replace Parameter with Explicit Methods(以明确函数取代参数)
函数的行为,完全取决于参数值
public void setValue(final String name, final int value) {if ("height".equals(name)) {this.height = value;return;}if ("width".equals(name)) {this.width = value;return;}Assert.shouldNeverReachHere();
}
重构:针对该参数的每一个可能值,建立一个独立函数
public void setHeight(int arg) {this.height = arg;
}public void setWidth(int arg) {this.width = arg;
}
Replace Parameter with Explicit Methods(以明确函数取代参数)相关推荐
- Replace Parameter with Methods(以函数取代参数)
对象调用某个函数,并将其结果传递给另一个函数 int basePrice = quantity * itemPrice; double discountLevel = getDiscountLevel ...
- [Microsoft][ODBC SQL Server Driver][SQl Server]参数数据类型 text 对于 replace 函数的参数 1 无效。...
说到数据库中文本的替换,一般人首先想到的是Replace函数: update Table set Column=Replace(Column,'oldkeyword','newkeyword') 不过 ...
- ES6 | let 关键字 + const关键字 + 箭头函数 + rest参数 + 扩展运算符 ... + Symbol + 迭代器 + 生成器 + 变量的解构赋值 + 模板字符串
目录 ECMASript 相关介绍 ECMASript 6 新特性 let 关键字 const关键字 变量的解构赋值 模板字符串 简化对象写法 箭头函数 => 参数默认值 rest参数 扩展运算 ...
- Go 学习笔记(15)— 函数(01)[函数定义、函数特点、多值返回、实参形参、变长参数,函数作为参数调用]
1. 函数定义 Go 语言最少有个 main() 函数.函数声明告诉了编译器函数的名称,返回类型和参数. func funcName(parameter_list)(result_list) {fun ...
- Python函数及其参数
定义函数def >>> def MyfirstFunction(): print('第一个函数') >>> MyfirstFunction() 第一个函数 函数的参 ...
- Python基本语法_函数属性 参数类型 偏函数的应用
目录 目录 前言 软件环境 Python Module的程序入口 函数的属性 Python函数的创建 函数的参数 必备参数 缺省参数 命名参数 不定长参数 匿名参数 偏函数的应用 前言 Python除 ...
- Python:wordcloud.wordcloud()函数的参数解析及其说明
Python:wordcloud.wordcloud()函数的参数解析及其说明 目录 wordcloud.wordcloud()函数的参数解析及其说明 wordcloud.wordcloud()函数的 ...
- Swift 烧脑体操(二) - 函数的参数
前言 \\ Swift 其实比 Objective-C 复杂很多,相对于出生于上世纪 80 年代的 Objective-C 来说,Swift 融入了大量新特性.这也使得我们学习掌握这门语言变得相对来说 ...
- Python函数默认参数陷阱
阅读目录 可变对象与不可变对象 函数默认参数陷阱 默认参数原理 避免 修饰器方法 扩展 参考 请看如下一段程序: def extend_list(v, li=[]): li.append(v) ret ...
最新文章
- php结课答辩要求,毕业论文答辩的基本要求和评分标准
- 【转】启动 Eclipse 弹出“Failed to load the JNI shared library jvm.dll”错误的解决方法!...
- hibernate映射之多对多双向
- Blazor University (4)组件 — 单向绑定
- 数据结构链表之栈——解决括号匹配问题和逆波兰表达式求值问题——6
- 安卓系统按键映射修改
- AndroidStudio_Android使用Gradle来管理依赖jar包_以及编译_Gradle的安装_配置_更新依赖方法---Android原生开发工作笔记221
- 3h精通OpenCV(六)-图像堆叠
- 软件事务内存导论(五)创建嵌套事务
- 智能家居无线组网技术,WiFi芯片模组连接应用,物联网无线技术发展
- ADAS常见缩略词(FCW/LKA/LCA/LDW...)
- 计算机基础知识如何打钩,打勾的符号怎么输入电脑上(对勾符号在word和Excel的输入方法)...
- Mac使用技巧:M1芯片的电脑恢复模式如何开启
- 房子装饰风水有哪些讲究和忌讳
- 算法套路学习之回溯算法-----子集,排列,组合等问题如何解决
- 达梦共享集群DM DMDSC集群对比Oracle RAC原理详解
- html中日期下拉选怎么设置,html中option标签(下拉列表选项)的详细介绍
- 给LSTM网络训练的数据添加标签(三维数组的一维增加数据)
- 学校宿舍天翼校园网构建路由器
- HTML文字动画,缓慢浮入