Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >代码重构之移除对参数的赋值

代码重构之移除对参数的赋值

作者头像
编程随想曲
发布于 2022-04-21 05:30:56
发布于 2022-04-21 05:30:56
41800
代码可运行
举报
文章被收录于专栏:编程随想曲编程随想曲
运行总次数:0
代码可运行

意图

区别按值传递和按引用传递,提升代码的清晰度如果只以参数表示被传递进来的东西,代码会清晰很多

示例

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
/**
 * 移除对参数的赋值之前
 * Created by luo on 2017/4/25.
 */
public class RemoveAssignmentsToParametersBefore {
    void discount (int inputVal, int quantity, int yearToDate){
        if (inputVal > 50){
            inputVal -= 20;
        }
    }
}
/**
 * 移除对参数的赋值之后
 * Created by luo on 2017/4/25.
 */
public class RemoveAssignmentsToParametersAfter {
    void discount (int inputVal, int quantity, int yearToDate){
        int result = inputVal;
        if (inputVal > 50){
            result -= 20;
        }
    }
}
本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2017-04-25,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 编程随想曲 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
代码重构:函数重构的 7 个小技巧
Extract Method 的重构手法是将多个 println() 抽离到独立的函数中(函数需要在命名上,下点功夫),这里对抽离的函数命名有 2 个建议:
phoenix.xiao
2021/10/20
7100
重构-改善既有代码的设计:重新组织函数的九种方法(四)
函数过长或者逻辑太混乱,重新组织和整理函数的代码,使之更合理进行封装。
黄规速
2022/04/14
4350
重构-改善既有代码的设计:重新组织函数的九种方法(四)
代码重构的原则和技巧
项目在不断演进过程中,代码不停地在堆砌。如果没有人为代码的质量负责,代码总是会往越来越混乱的方向演进。当混乱到一定程度之后,量变引起质变,项目的维护成本已经高过重新开发一套新代码的成本,想要再去重构,已经没有人能做到了。
架构之家
2022/07/12
6580
代码重构的原则和技巧
Java的参数传递是值传递还是引用传递
当一个对象被当作参数传递到一个方法后,在此方法内可以改变这个对象的属性,那么这里到底是值传递还是引用传递?    答:是按值传递。Java 语言的参数传递只有按值传递。当一个实例对象作为参数被传递到方
nnngu
2018/03/15
3.7K0
Java的参数传递是值传递还是引用传递
java中的参数传递-值传递、引用传递
参数是按值而不是按引用传递的说明 Java 应用程序有且仅有的一种参数传递机制,即按值传递。
chenchenchen
2022/11/29
5.6K0
java中的参数传递-值传递、引用传递
狗屎一样的代码!快,重构我!
对软件内部结构的一种调整,目的是在不改变软件可观察行为的前提下,提高其可理解性,降低其修改成本。
Java技术栈
2019/03/07
8360
狗屎一样的代码!快,重构我!
[读书笔记]C#学习笔记八:StringBuilder与String详解及参数传递问题剖析
前言 上次在公司开会时有同事分享windebug的知识, 拿的是string字符串Concat拼接 然后用while(true){}死循环的Demo来讲解. 其中有提及string操作大量字符串效率低下的问题, 刚好自己之前也看过类似的问题, 于是便拿出来记录一下. 本文内容: 参数传递问题剖析, string与stringbuilder详解 1,参数传递问题剖析 对于C#中的参数传递,根据参数的类型可以分为四类: 值类型参数的按值传递 引用类型参数的按值传递 值类型参数的按引用传递 引用类型参数的按引用
一枝花算不算浪漫
2018/05/18
1K0
Java的参数传递是「按值传递」还是「按引用传递」?
Java 编程语言中最大的困惑之一就是: java 是按值传递还是按引用传递。我在面试中经常会问面试者这个问题,但还是有很多面试者对这个问题的理解不是很正确。
淡定的蜗牛
2019/11/05
2.9K0
Java的参数传递是「按值传递」还是「按引用传递」?
浅析按值传递与按引用传递
下列关于按值传递与按引用传递的描述中,正确的是( )。A.按值传递不会改变实际参数的数值 B.按引用传递能改变实际参数的参考地址C.按引用传递能改变实际参数的内容 D.按引用传递不能改变实际参数的参考地址
田维常
2019/12/17
1.3K0
java学习——java按值传递和按址传递
Java内存管理-Stackoverflow问答-Java是传值还是传引用?(十一)
全栈程序员站长
2022/02/27
7240
重构 - 你为什么要对参数赋值?
对于学过多门语言的开发者来说,应该都明白在不同语言中对参数赋值有着不同的意义, 总的来说参数有值传递和引用传递两种, 而在Java中只有值传递的概念。
PhoenixZheng
2018/08/07
5930
Java参数传递分析
按值传递:就是把原来的参数的值,拷贝一份,将这个拷贝的值修改,而原来的旧的值不会修改。 引用传递:就是将参数的地址拿来使用,不去拷贝,直接在这个地址上操作,这样的话,就会把原来的值也修改了。
程序猿川子
2025/05/14
460
Java参数传递分析
java — 值传递和引用传递
  在 Java 应用程序中永远不会传递对象,而只传递对象引用。因此是按引用传递对象。Java 应用程序按引用传递对象这一事实并不意味着 Java 应用程序按引用传递参数。参数可以是对象引用,而 Java 应用程序是按值传递对象引用的。   Java 应用程序中的变量可以为以下两种类型之一:引用类型或基本类型。当作为参数传递给一个方法时,处理这两种类型的方式是相同的。两种类型都是按值传递的;没有一种按引用传递。  java实际上只有值传递,没有真正意义上的引用传递。 按值传递意味着当将一个参数传递给一
Mister24
2018/05/14
1.6K0
java基础:所有参数皆是按值参数
c#中对于参数的传递,有二种处理方式,默认情况下:值类型的参数,按值传递(即:方法体内的参数是原值的副本);引用类型的参数,"加ref关键字后“,按引用传递(即:方法体内的参数,是对象的指针引用,在方法体内修改了对象的属性,方法调用完成后,这种变化也会保持下去). java虽然也是OO语言,但是这一点有很大不同,不管是“值”类型的简单参数(比如:int),还是“引用”类型的对象参数(比如:Object),参数永远是按值传递(参数永远是原值的副本)。只不过,对于int型的简单参数,比如:5,副本也是5,相当于
菩提树下的杨过
2018/01/19
8040
java基础:所有参数皆是按值参数
代码重构之内联临时变量以查询取代临时变量
意图 - 使得同一个类中的所有函数都可以获得这份信息,能够为这个类编写更清晰的代码
编程随想曲
2022/04/21
7900
常见代码重构技巧(非常实用)
项目在不断演进过程中,代码不停地在堆砌。如果没有人为代码的质量负责,代码总是会往越来越混乱的方向演进。当混乱到一定程度之后,量变引起质变,项目的维护成本已经高过重新开发一套新代码的成本,想要再去重构,已经没有人能做到了。
肉眼品世界
2021/05/10
9610
常见代码重构技巧(非常实用)
C++11 Lambda表达汇总总结
 C++ 11中的Lambda表达式用于定义并创建匿名的函数对象,以简化编程工作。Lambda的语法形式如下:               [函数对象参数] (操作符重载函数参数) mutable或exception声明 ->返回值类型 {函数体}       可以看到,Lambda主要分为五个部分:[函数对象参数]、(操作符重载函数参数)、mutable或exception声明、->返回值类型、{函数体}。下面分别进行介绍。       一、[函数对象参数],标识一个Lambda的开始,这部分必须存
hbbliyong
2018/03/06
6110
C++类的复制构造函数和赋值运算符
前言: C++面向对象的编程过程中,凡是在类中运用到动态内存分配的时候总是会写一个显示的复制构造函数和赋值重载运算符,本文将结合C++ Primer Plus一书的内容分析下原因: 一、在C++编程中如果没有编写下列成员函数,系统会自动的提供:     (1)构造函数     (2)析构函数     (3)地址运算符     (4)赋值构造函数     (5)赋值运算符     其中(1)-(3)在编程中不会产生什么影响,但是(4)(5)会造成较大的影响 二、赋值构造函数 1、函数原型  Class_na
用户1215536
2018/02/05
1.3K0
C++类的复制构造函数和赋值运算符
Java中的值传递与引用传递详解
方法调用是编程语言中非常重要的一个特性,在方法调用时,通常需要传递一些参数来完成特定的功能。Java语言提供了两种参数传递的方式:值传递和引用传递。
良月柒
2019/03/20
2.4K0
Java中的值传递与引用传递详解
C# 学习笔记(8)—— 深入理解类型
C# 中的类型可以分为两种——值类型和引用类型,本文详细分析两种类型,并讨论它们之间的类型转换方法
Karl Du
2023/10/20
2660
相关推荐
代码重构:函数重构的 7 个小技巧
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验