PMD 检查java代码:在条件语句中避免使用硬编码的字面量(AvoidLiteralsInIfCondition )

https://docs.pmd-code.org/pmd-doc-6.55.0/pmd_rules_java_errorprone.html#avoidliteralsinifcondition

在条件语句中,避免避免使用硬编码的字面量。可以将字面量声明为有描述意义的静态成员或者私有成员,提升可维护性。默认忽略"-1" 和"0"。

该规则有属性ignoreMagicNumbers、ignoreExpressions:
在这里插入图片描述

例如,下面在if条件语句中使用了字面量’0’,违反了该规则:

if (stringBuffer.charAt(0) ==  '0') {decStr = stringBuffer.substring(1);
} else {decStr = stringBuffer.toString();
}

可以修改为:

  /*** 字符'0'.*/
private static final char ZERO_CHAR = '0';if (stringBuffer.charAt(0) == ZERO_CHAR) {decStr = stringBuffer.substring(1);
} else {decStr = stringBuffer.toString();
}

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

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

相关文章

Pygame中Trivia游戏解析6-3

3.3 Trivia类的show_question()函数 Trivia类的show_question()函数的作用是显示题目。主要包括显示题目框架、显示题目内容和显示题目选项等三部分。 3.3.1 显示题目的框架 在show_question()函数中,通过以下代码显示题目的框架。 print_text(font1, 210, 5, &q…

【STM32】IIC使用中DMA传输时 发送数据总少一个的问题

问题描述 在使用STM32 I2C数据发送过程中,发现每轮实际发送出去的数据总比在DMA配置中设定的传输数据个数要少一个。比方说:DMA配置里设定的传输数据个数是10个,结果发现在总线上只能发出9个,经过进一步发现是少了最后一个数据。…

生成式人工智能促使社会转变

作者:JEFF VESTAL 了解 Elastic 如何处于大型语言模型革命的最前沿 – 通过提供实时信息并将 LLM 集成到数据分析的搜索、可观察性和安全系统中,帮助用户将 LLM 提升到新的高度。 iPhone 社会转变:新时代的黎明 曾几何时,不久前…

固定资产管理怎么改革

固定资产管理改革需要考虑以下几个方面: 建立完善的管理制度和流程:制定固定资产管理的规章制度,明确各部门的职责和任务,规范资产采购、登记、领用、保管、维修、报废等流程。 采用先进的资产管理软件:通过采用先进的…

动作分析:提升效率、改进质量、创新流程的秘密武器

动作分析的主要的用途和目的是排除多余的动作、无效的动作或缓慢的动作,如弯腰、站在凳子上、蹲着、工作场所差、缺少合适的工作设备、处于搜索状态的人和事等,形成标准化作业规范,从而通过最省力的方法达到最大的工作效率。这项研究可以不花…

Dom-clobbering原理和例题

目录 引入 1.获取标签 2.覆盖 3.多层覆盖 利用Dom-clobbering 1.tostring 2.集合取值 3.层级关系取值 4.三层取值 5.自定义属性 例题 1 2. 3. 引入 分析 引入 先用三个小例子看看dom-clobbering干了什么 1.获取标签 这个例子给img标签分别做了一个id和一个name…

Java类加载机制

简介 在Java的世界里,每一个类或者接口,在经历编译器后,都会生成一个个.class文件。 类加载机制指的是将这些.class文件中的二进制数据读入到内存中,并对数据进行校验,解析和初始化。最终,每一个类都会在…

朴素,word,任何参考文献导入endnote

朴素,word,任何参考文献导入endnote 注意:对于以下这几种不做阐述,看其他帖子都有讲述: 这里的参考文献指的是类似于: [1]. Li Y, Lu Y, Huo X, et al. Bandgap tuning strategy by cations and halide io…

基于React实现:弹窗组件与Promise的有机结合

背景 弹窗在现代应用中是最为常见的一种展示信息的形式,二次确认弹窗是其中最为经典的一种。当我们在React,Vue这种数据驱动视图的前端框架中渲染弹窗基本是固定的使用形式。 使用方式:创建新的弹窗组件,在需要弹窗的地方引用并…

IntelliJ IDEA 2023.2.1 Android开发变化

IntelliJ IDEA 2023.2.1之前的版本,Empty Activity是指Empty View Activity,而现在Empty Activity是指Empty Compose Activity,另外多了一个Empty View Activity的选项 这表明官方推荐使用Compose这种声明式的编程方式来描述UI,命…

FPGA实现电机转速PID控制

通过纯RTL实现电机转速PID控制,包括电机编码器值读取,电机速度、正反转控制,PID算法,卡尔曼滤波,最终实现对电机速度进行控制,使其能够渐近设定的编码器目标值。 一、设计思路 前面通过SOPC之NIOS Ⅱ实现电…

SourceTree安装教程

PS:SourceTree是一款流行的免费Git和Mercurial版本控制工具,由Atlassian开发和维护。它提供了一个直观且功能强大的图形用户界面,方便开发人员管理和浏览代码仓库 说白了,他就是一个可视化的git界面,还是非常好用的&am…