Replace Parameter with Methods(以函数取代参数)
对象调用某个函数,并将其结果传递给另一个函数
int basePrice = quantity * itemPrice;
double discountLevel = getDiscountLevel();
double finalPrice = discountPrice(basePrice, discountLevel);
重构:让参数接受者移除该项参数,并直接调用该函数
int basePrice = quantity * itemPrice;
double finalPrice = discountPrice(basePrice);
动机
如果函数可以通过其他途径获得参数值,那么它就不应该通过参数取得该值。过长的参数列会增加程序阅读者的理解难度。
Replace Parameter with Methods(以函数取代参数)相关推荐
- Replace Parameter with Explicit Methods(以明确函数取代参数)
函数的行为,完全取决于参数值 public void setValue(final String name, final int value) {if ("height".equa ...
- [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 ...
最新文章
- 分布式ID(唯一性)的生成方法汇总
- Android targetSdkVersion 原理
- 一款基于jquery带百分比的响应式进度加载条
- access查询出生日期格式转换_从身份证中提取出生日期的3个方法和计算年龄和星座的方法...
- JavaScript实现表单的全选,反选,获取值
- 《大数据》2021年第5期目次摘要
- nagios监控slave(借助脚本)
- 自动驾驶 2-1 第 1 课补充阅读:传感器和计算硬件 -- 下
- yylabel 加载html,YYLabel的简单使用
- detours介绍与使用
- 幼儿园体育游戏电子计算机教案,幼儿园体育游戏活动教案8篇
- Linux技术——lsof命令详解
- linux卸载mono,CentOS7安装Mono并保留离线安装包
- 网络电台mms地址大全(二)
- 微信浏览器网页点击图片缩放
- 桌面便利贴软件下载 电脑桌面便签小工具软件下载
- 如何在eclipse制作的APP中添加背景图
- 阿里云服务器发送邮件
- 2020年12月7日-2020年12月13日
- 10个免费的顶级跨浏览器测试工具