函数的行为,完全取决于参数值

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(以明确函数取代参数)相关推荐

  1. Replace Parameter with Methods(以函数取代参数)

    对象调用某个函数,并将其结果传递给另一个函数 int basePrice = quantity * itemPrice; double discountLevel = getDiscountLevel ...

  2. [Microsoft][ODBC SQL Server Driver][SQl Server]参数数据类型 text 对于 replace 函数的参数 1 无效。...

    说到数据库中文本的替换,一般人首先想到的是Replace函数: update Table set Column=Replace(Column,'oldkeyword','newkeyword') 不过 ...

  3. ES6 | let 关键字 + const关键字 + 箭头函数 + rest参数 + 扩展运算符 ... + Symbol + 迭代器 + 生成器 + 变量的解构赋值 + 模板字符串

    目录 ECMASript 相关介绍 ECMASript 6 新特性 let 关键字 const关键字 变量的解构赋值 模板字符串 简化对象写法 箭头函数 => 参数默认值 rest参数 扩展运算 ...

  4. Go 学习笔记(15)— 函数(01)[函数定义、函数特点、多值返回、实参形参、变长参数,函数作为参数调用]

    1. 函数定义 Go 语言最少有个 main() 函数.函数声明告诉了编译器函数的名称,返回类型和参数. func funcName(parameter_list)(result_list) {fun ...

  5. Python函数及其参数

    定义函数def >>> def MyfirstFunction(): print('第一个函数') >>> MyfirstFunction() 第一个函数 函数的参 ...

  6. Python基本语法_函数属性 参数类型 偏函数的应用

    目录 目录 前言 软件环境 Python Module的程序入口 函数的属性 Python函数的创建 函数的参数 必备参数 缺省参数 命名参数 不定长参数 匿名参数 偏函数的应用 前言 Python除 ...

  7. Python:wordcloud.wordcloud()函数的参数解析及其说明

    Python:wordcloud.wordcloud()函数的参数解析及其说明 目录 wordcloud.wordcloud()函数的参数解析及其说明 wordcloud.wordcloud()函数的 ...

  8. Swift 烧脑体操(二) - 函数的参数

    前言 \\ Swift 其实比 Objective-C 复杂很多,相对于出生于上世纪 80 年代的 Objective-C 来说,Swift 融入了大量新特性.这也使得我们学习掌握这门语言变得相对来说 ...

  9. Python函数默认参数陷阱

    阅读目录 可变对象与不可变对象 函数默认参数陷阱 默认参数原理 避免 修饰器方法 扩展 参考 请看如下一段程序: def extend_list(v, li=[]): li.append(v) ret ...

最新文章

  1. php结课答辩要求,毕业论文答辩的基本要求和评分标准
  2. 【转】启动 Eclipse 弹出“Failed to load the JNI shared library jvm.dll”错误的解决方法!...
  3. hibernate映射之多对多双向
  4. Blazor University (4)组件 — 单向绑定
  5. 数据结构链表之栈——解决括号匹配问题和逆波兰表达式求值问题——6
  6. 安卓系统按键映射修改
  7. AndroidStudio_Android使用Gradle来管理依赖jar包_以及编译_Gradle的安装_配置_更新依赖方法---Android原生开发工作笔记221
  8. 3h精通OpenCV(六)-图像堆叠
  9. 软件事务内存导论(五)创建嵌套事务
  10. 智能家居无线组网技术,WiFi芯片模组连接应用,物联网无线技术发展
  11. ADAS常见缩略词(FCW/LKA/LCA/LDW...)
  12. 计算机基础知识如何打钩,打勾的符号怎么输入电脑上(对勾符号在word和Excel的输入方法)...
  13. Mac使用技巧:M1芯片的电脑恢复模式如何开启
  14. 房子装饰风水有哪些讲究和忌讳
  15. 算法套路学习之回溯算法-----子集,排列,组合等问题如何解决
  16. 达梦共享集群DM DMDSC集群对比Oracle RAC原理详解
  17. html中日期下拉选怎么设置,html中option标签(下拉列表选项)的详细介绍
  18. 给LSTM网络训练的数据添加标签(三维数组的一维增加数据)
  19. 学校宿舍天翼校园网构建路由器
  20. HTML文字动画,缓慢浮入

热门文章

  1. 论文浅尝 | 动态词嵌入
  2. 机器学习】LDA线性判别分析
  3. Peacock:大规模主题模型及其在腾讯业务中的应用-2015
  4. 如何通过反射来解决AlertDialog标题由于字数过多显示不全的问题
  5. 中文电子病例命名实体识别项目
  6. spring boot 配置动态刷新
  7. 基于python的性能测试工具–locust
  8. 多mysql实例下开发需要注意主从同步延迟
  9. k8s 基础概念和术语
  10. 经验分享:10个简单实用的 jQuery 代码片段