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

对象调用某个函数,并将其结果传递给另一个函数

int basePrice = quantity * itemPrice;
double discountLevel = getDiscountLevel();
double finalPrice = discountPrice(basePrice, discountLevel);

重构:让参数接受者移除该项参数,并直接调用该函数

int basePrice = quantity * itemPrice;
double finalPrice = discountPrice(basePrice);

动机
    如果函数可以通过其他途径获得参数值,那么它就不应该通过参数取得该值。过长的参数列会增加程序阅读者的理解难度。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/497236.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

简明Python教程学习笔记_6_面向对象编程

面向对象编程:https://www.liaoxuefeng.com/wiki/897692888725344/923030496738368面向对象高级编程:https://www.liaoxuefeng.com/wiki/897692888725344/9230305380126401、类、对象 类 和 对象 是面向对象编程的两个主要方面。 类 是创建一个 新类型&a…

C++学习之路 | PTA乙级—— 1009 说反话 (20分)(精简)

1009 说反话 (20分) 给定一句英语,要求你编写程序,将句中所有单词的顺序颠倒输出。 输入格式: 测试输入包含一个测试用例,在一行内给出总长度不超过 80 的字符串。字符串由若干单词和若干空格组成,其中单词是由英文字…

哈希值+非对称加密+网络+数字签名,你真的知道怎么给游戏充钱吗

前文 使用socket实现局域网不同主机通信 SHA256算法的实现和消息的哈希散列值计算 python实现RSA算法,对数据进行加密认证 文章目录数字签名与认证攻击类型算法选择实现流程总结数字签名与认证 什么是数字签名? 签名我们大家都知道,A在纸上签…

2017 年脑机接口研发热点回眸

来源:科技导报概要:脑机接口(brain-computer interface,BCI)通过解码人类思维活动过程中的脑神经活动信息,构建大脑与外部世界的直接信息传输通路,在神经假体、神经反馈训练、脑状态监测等领域有…

Visual Studio“Orcas”October 2006 CTP版下载

Visual Studio “Orcas” October 2006 CT版可以下载了,但这次Release的是一个虚拟机的镜像,所以需要在虚拟PC上运行,文件的大小是4150.5 MB,有点太大了。下载地址:http://www.microsoft.com/downloads/details.aspx?…

C++学习之路 | PTA乙级—— 1010 一元多项式求导 (25分)(精简)

1010 一元多项式求导 (25分) 设计函数求一元多项式的导数。(注:x ​n ​​ (n为整数)的一阶导数为nx ​n−1 ​​ 。) 输入格式: 以指数递降方式输入多项式非零项系数和指数(绝对值均为不超过 1000 的整数…

简明 Python 教程学习笔记_7_文件操作(os、shutil、pathlib )

参考 :http://www.cnblogs.com/nulige/archive/2016/12/06/6037752.html 在很多时候,你会想要让你的程序与用户(可能是你自己)交互。你会从用户那里得到输入,然后打印一些结果。我们可以分别使用 raw_input 和 print 语…

地牢房间迷宫走廊生成(二),Python实现洪水法、完美迷宫

文章目录前言1 随机房间和房门2 生成走廊2.1生成迷宫2.4 使用循环改进2.3 走廊缩减2.3 走廊再简化总结前言 前面通过随机房间、房门,对房门寻路生成走廊。由于使用A星算法,寻到的是最短路径,这样生成的走廊过直和简单。如果需要生成弯曲的走廊…

Introduce Parameter Object(引入参数对象)

某些参数总是很自然地同时出现 重构:以一个对象取代这些参数

深度解析,马斯克最新发射的先进火箭

来源:环球时报概要:就在几个小时前,美国人成功发射了目前全世界运载能力最强的超级火箭——“猎鹰重型”。就在几个小时前,美国人成功发射了目前全世界运载能力最强的超级火箭——“猎鹰重型”。虽然中芯级火箭在回收过程中坠毁&a…

发现还是 True Image Server v8.1.941 比较好用

今天下了 True Image Server 9.1 并安装使用,发现9.1版本的用起来似乎更麻烦了,还是喜欢 8.1 的.于是卸载了 9.1 版本重新安装 8.1 版的 但是我发现 8.1 版本的安装使用时总是提示已经过期了,失效了.搞了半天&#xff…

C++学习之路 | PTA乙级—— 1011 A+B 和 C (15分)(精简)

1011 AB 和 C (15分) 给定区间 [−2 ​31 ​​ ,2 ​31 ​​ ] 内的 3 个整数 A、B 和 C,请判断 AB 是否大于 C。 输入格式: 输入第 1 行给出正整数 T (≤10),是测试用例的个数。随后给出 T 组测试用例,每组占一行,顺…

Encapsulate Downcast(封装向下转型)

某个函数返回的对象,需要由函数调用者执行向下转型(downcast) public Object lastReading() {return readings.lastElement(); } 重构:将向下转型动作移动到函数中。 public Reading lastReading() {return (Reading) readings…

简明Python教程学习笔记_8_异常

菜鸟教程 之 Python 异常处理:http://www.runoob.com/python/python-exceptions.html Python 一篇搞定所有的异常处理:https://www.cnblogs.com/wj-1314/p/8707804.html Python 捕捉详细异常堆栈的方法 Python 中使用 try except 的方法捕获异常&#…

咖啡的味道

转自http://bbs.21our.com/main.asp一直就这样的静静的呆着,看着人来人往,听着笑语悲歌,却什么也不想说,什么也不想做。  下午有段时间,莫名其妙的烦躁起来,脑袋绷的紧紧的,甚至有种要窒息的感…

技术专栏 | 两万字深度长文!从原理到趋势 解剖风口上的区块链技术

来源:芯师爷概要:区块链不是一项新技术,而是一个新的技术组合。其关键技术包括P2P动态组网、基于密码学的共享账本、共识机制、智能合约等技术。区块链不是一项新技术,而是一个新的技术组合。其关键技术包括P2P动态组网、基于密码…

C++学习之路 | PTA乙级—— 1012 数字分类 (20分)(精简)

1012 数字分类 (20分) 给定一系列正整数,请按要求对数字进行分类,并输出以下 5 个数字: A ​1 ​​ 能被 5 整除的数字中所有偶数的和; A ​2 ​​ 将被 5 除后余 1 的数字按给出顺序进行交错求和,即计算 n ​1 ​​…

Replace Error Code with Exception(以异常取代错误码)

某个函数返回一个特定的代码,用来表示某种错误情况 public int withdraw(int amount) {if (amount > balance) {return -1;} else {balance - amount;return 0;} } 重构:改用异常 public int withdraw(int amount) {if (amount > balance) {thr…

Python 进阶

​Python 进阶:https://eastlakeside.gitbook.io/interpy-zh/ Python 经典教程 专题 系列:https://www.jb51.net/Special/520.htm Python 黑魔法指南:https://magic.iswbm.com/ Python 中文指南:https://python.iswbm.com/ Python…

太闷了,换个样子!

真的很闷,Blog换个样子,以前的黑色,太沉闷了! 转载于:https://www.cnblogs.com/lovenets/archive/2006/11/18/564736.html