PMD笔记-Avoid reassigning parameters such as 'XXX'
在用PMD检测代码时发现报错如下:
Avoid reassigning parameters such as ‘col’. Reassigning values to incoming parameters is not recommended. Use temporary local variables instead.
报错的代码如下:
private BaseColumn renderDefectColumn(final BaseColumn col, final Boolean isDefectShown, final Boolean isMeasDefectItems) {if (!isDefectShown) {col = new BaseColumn();col.setReadonly(true);}if (isMeasDefectItems) {col.setReadonly(true);}return col;}
在stackoverflow里找到个一样的问题,有个回答是这样的:
In your case, there’s a parameter named bankRequest. Inside the method, you are assigning bankRequest a value.
By some, it is considered an ill approach to assign values to parameters within a method’s body, as it is, at times, confusing. Some developers prefer always assuming that a parameter is never assigned any value during a method’s run.
To avoid that, you can declare an alternative variable of type BankDTO
因为我在方法体内部把方法的参数重新赋值,于是PMD就报出这个错误。解决方法就是避免在方法体内对方法参数重新赋值,可以将方法参数的值赋给另一个局部变量,如下:
private BaseColumn renderDefectColumn(final BaseColumn col, final Boolean isDefectShown, final Boolean isMeasDefectItems) {BaseColumn column = col;if (!isDefectShown) {column = new BaseColumn();column.setReadonly(true);}if (isMeasDefectItems) {column.setReadonly(true);}return column;}
PMD笔记-Avoid reassigning parameters such as 'XXX'相关推荐
- 【学习笔记】Unity3d C# 常用标签[xxx]
[学习笔记]Unity3d C# 常用标签[xxx] 介绍 类 字段 方法 介绍 在使用Unity3d引擎去开发的时候,不可避免的要使用到专属的开发语言C#,而Unity3d开发引擎给我们提拱了很多的 ...
- PMD笔记-Overridable method 'XXX' called during object construction
PMD错误 Overridable method 'XXX' called during object construction 样例 public class Test {public int a; ...
- Machine Learning课堂笔记之Computing Parameters Analytically
转载于:https://www.cnblogs.com/silverbulletcy/p/7977615.html
- 【Jmeter】参数Parameters和Body Data
在做接口并发测试的时候,才发现Jmeter中的Parameters和Body Data两种参数格式并不是简单的一个是xx=xx,另外一个是json格式的参数 先看一个接口 [post] /api/xx ...
- 【学习生涯】预科学习笔记
预科第一天 第一天主要是一些基础安排和文件下载 必备软件 Microsoft Visual Studio 2022:编程必备 有道词典:英语菜鸡必备 向日葵远程工具:找大佬帮助必备 7zip:解压工具 ...
- SQL 笔记 By 华仔
-------------------------------------读书笔记------------------------------- 笔记1-徐 最常用的几种备份方法 笔记2-徐 收缩数据 ...
- Libsvm的一些说明帮助吧
欢迎关注我的博客晨凫追风,转载请注明出处http://blog.csdn.net/hit2015spring hit2015spring晨凫追风\frac{hit2015spring}{晨凫追风} 这 ...
- Linux开机启动过程(6):页表的初始化、避开保留的内存、地址随机化
内核引导过程. Part 6. 简介 这是内核引导过程系列文章的第六部分.在前一部分,我们已经看到了内核引导过程的结尾,但是我们跳过了一些高级部分. 你可能还记得,Linux内核的入口点是 main. ...
- TSLint 配置规则
TSLint core rules 原文:https://palantir.github.io/tslint/rules/ Lint rules encode logic for syntactic ...
最新文章
- SCI论文写作视频1.论文的三段式结构
- C语言再学习 -- 常用头文件和函数(转)
- Linux head和tail指令
- vue可视化拖拽生成工具_vdesjs: 基于vue的可视化拖拽,代码生成工具。提升前端开发效率,或者集成至项目作为在线拖拽工具。(持续迭代升级中)...
- python统计字符出现的次数最多的字符_Python统计字符串中出现次数最多的人名
- munin安装---已成功安装
- JQuery 样式设置、追加、移除与切换
- 类型转换和操作符重载 (c#)
- 智能硬件(2)---手机访问智能硬件的三种模式
- java参数传递时,究竟传递的是什么
- utilities(matlab)—— 图像分块(image2cols、cols2image)
- Week 2 代码审查
- (转)AI泡沫已现:资金多而项目缺,周期长而营收难
- 格雷码与二进制码之间的相互转换
- python共有前缀_最长公共前缀-Python
- 关于JAVAFX的鼠标单击事件案例
- 解决使用百度地图API时偏移问题并自适应中心点和比例
- 总体和个体,样本和样本值
- 5.15 英语单词小记
- STM32F103+W5500,HAL库
热门文章
- linux - apollo系统
- Linux冷门却很重要的命令(八)---xargs
- 华为openEuler系统 设置yum源
- 马云成功的九大秘籍与经典语录[收藏]
- 洛谷——P2949工作调度Work Scheduling
- ML - 线性回归的评估(MSE、RMSE、MAE、R Square)
- Flutter中TextField hintText不居中问题
- ajax enctype设置,form设置enctype属性为'application/json'不起作用
- 兰博基尼口罩,特斯拉呼吸机,这些国外企业为何能快速转产抗疫物资?
- SQL Server 2008 附加数据库时出错