首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

SonarQube 6.4,不推荐使用的规则及其修复方法

SonarQube是一个开源的代码质量管理平台,用于静态代码分析和代码质量管理。它提供了一系列规则和指标,帮助开发团队发现和修复代码中的问题,从而提高代码质量和可维护性。

在SonarQube 6.4中,有一些规则是不推荐使用的,这些规则可能存在一些问题或者不适用于特定的项目。以下是一些不推荐使用的规则及其修复方法:

  1. "Switch cases should end with an unconditional 'break' statement"(switch语句的case应以无条件的'break'语句结束):该规则要求在switch语句的每个case中都必须包含一个无条件的'break'语句。然而,在某些情况下,我们可能需要在一个case中执行多个操作,而不是立即跳出switch语句。修复方法是根据具体情况,添加或删除'break'语句。
  2. "Methods should not have too many parameters"(方法不应该有太多参数):该规则要求方法的参数数量不应过多。然而,在某些情况下,我们可能需要传递多个参数来满足业务需求。修复方法是根据具体情况,考虑是否可以通过封装参数对象或者重构方法来减少参数数量。
  3. "Methods should not have too many lines"(方法不应该有太多行):该规则要求方法的行数不应过多。然而,在某些情况下,一个方法可能需要包含大量的逻辑代码。修复方法是根据具体情况,考虑是否可以通过提取子方法或者重构代码来减少方法的行数。
  4. "Classes should not have too many fields"(类不应该有太多字段):该规则要求类的字段数量不应过多。然而,在某些情况下,一个类可能需要包含多个字段来表示其状态。修复方法是根据具体情况,考虑是否可以通过封装字段或者重构类来减少字段的数量。
  5. "Methods should not have too many parameters of the same type"(方法不应该有太多相同类型的参数):该规则要求方法的相同类型参数数量不应过多。然而,在某些情况下,我们可能需要传递多个相同类型的参数来满足业务需求。修复方法是根据具体情况,考虑是否可以通过封装参数对象或者重构方法来减少相同类型参数的数量。

以上是SonarQube 6.4中不推荐使用的规则及其修复方法。请注意,修复方法应根据具体项目和业务需求进行评估和调整。对于更详细的规则说明和修复方法,您可以参考腾讯云的SonarQube产品介绍页面:SonarQube产品介绍

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

关于 java 中 set,get方法,而为什么推荐直接使用public

我不知道有没有人遇到过,有一段时间,我都觉得那些 set,get用处何在,我直接写一个public直接拿不就行了,多爽,但是随着使用频繁,越来越想去搜索一下这个问题,而不是按照官方推荐,前辈们使用都是建议...这里引入其中一句话: 在任何相互关系中,具有关系所涉及各方都遵守边界是十分重要事情,当创建一个类库时,就建立了与客户端程序员之间关系,他们同样也是程序员,但是他们是使用类库来构建应用...综上所述,写到这里,我诞生了一个想法,其实set ,get ,public,对于它们使用完全取决于我们程序员自己,为了让项目之间逻辑更加清晰,有些标准自上而下,慢慢传了下来,无论你使用那种,但是有一个东西是无法避免...补充说明,set字面意思设置,get获取,我们了解一下java面向对象编程封闭性与安全性,private 修饰set get方法方法封闭在了一个特定类中,其他类就无法对其变量进行方法,这样就提高了数据安全性...一些杂谈:这些只是来自我一个菜鸡自己想法,当然对于很多大神来说不值一提,可能以后我会有更深入理解,但是至少,在程序员这条路上,不想盲目的去使用一些东西,或者说不想单纯只是去听别人一些看法。

1.4K20

技术债务(Technical debt)产生原因及衡量解决

缺少配套自动化测试:导致鼓励快速而风险很大“创可贴”式BUG修复。 缺少必要文档:需求和代码都没有必要支撑性文档或注释。...重构越是推迟,这些已有的代码被使用越多,形成技术负债就越多,直到重构完成。 遵循标准或最佳实践:忽略了已有的业界标准、框架、技术和最佳实践。...SonarQube技术债务就是基于SQALE方法,是通过代码规则和问题来实现SonarQube 项目技术债务 ? SonarQube 代码技术债务详情 ?...已经详细列出了技术债务相关所有指标和问题,也有很完善管理和推荐解决方案。...SonarQube 问题中推荐解决方法 ? 我强烈推荐大家使用 SonarQube 来管理和解决技术债务。

1.8K20

搭建 sonarqube 代码质量扫描环境

打开项目规则配置: 忽略配置包括以下类型 排除指定目录:sonar.exclusions 排除public 下所有文件及其子目录下文件 包含指定目录:sonar.inclusions 只扫描src...文件中包含 sonarqube disable 字符串文件参与扫描,这样我们就可以对一些特殊文件进行排除,字符串由我们自己定义 指定代码块参与扫描:sonar.issue.ignore.block...在login/index.js文件中只检查javascript:S1195规则,不检查其他规则 以上配置是在sonarqube服务器上,我们更推荐另外一种方式,即在项目目录下 sonar-project.properties...以后,我们还可以安装sonarlint插件进行编程支持,这个插件作用是在我们开发代码过程中实时显示当前编辑代码异常情况,在插件中配置sonarqube服务器作用是可以使用sonarqube服务器中规则进行代码检查...:node可执行文件路径配置 在我们开发过程当中,推荐大家使用各种代码检查工具,对代码质量进行管理,这样可以帮我们避免很多低级或者不合理异常,尤其是对于经常出错同学,这是一个养成良好代码书写习惯很好方式

1.8K50

我用这10招,能减少了80%BUG

SonarQube通过配置代码分析规则,从可靠性、安全性、可维护性、覆盖率、重复率等方面分析项目,风险等级从A~E划分为5个等级; 同时,SonarQube可以集成pmd、findbugs、checkstyle...等插件来扩展使用其他规则来检验代码质量。...一般推荐它跟Jenkins集成,做成每天定时扫描项目中test分支中代码问题。 5 用Fortify扫描代码 Fortify 是一款广泛使用静态应用程序安全测试(SAST)工具。...报告和度量:它提供了丰富报告功能,帮助团队了解项目的安全状况和漏洞趋势。 使用Fortify扫描代码结果: 一般推荐它跟Jenkins集成,定期扫描项目中test分支中代码安全问题。...看似节省了很多单元测试时间,但其实后面修复BUG时间可能会花费更多。 比较推荐自测方式是:一步一个脚印。 比如:你写了一个工具类一个方法,就测试一下。

13510

持续集成八 sonarQube配置及使用

目录 1.插件 2.sonar界面配置使用 项目 质量配置 过滤条件 问题 代码规则 Build Breaker 构建破坏 质量阈 指标等级ABCDE 3.配置显示代码作者和负责人 4....当这些指标达标时,在项目总览那里就会显示,并且只要一个达标就会报错,如果你有配置build breader ,那么你项目就不会编译通过 ? 对照指标和项目数据,其关系如下图 ?...) 修复所有漏洞问题工作。...可以使用: -Dsonar.scm.provider=git 强制执行分析 下面是svn配置,就是需要一个能够去连接svn上项目的账号密码 官方参考: https://docs.sonarqube.org...“}”所占行 覆盖率行:指定是有效行,方法代码行,不包括“}” 如下面一个类统计数据,,行数74,真正代码行64,覆盖率行只有22(代码不能公开) ?

2.6K10

测试工程师做好缺陷预防,居然可以避免50%错误!

这是一张在不同阶段修复Bug所需要成本演示图,随着时间推移修复Bug成本将越来越高。...测试思维几个阶段 1、初级: 根据常见测试用例编写方法设计测试用例,能够站在用户角度去思考用户如何使用被测试程序,提出一些异常场景。...统计证明,在整个软件开发生命周期中,30% 至 70% 代码逻辑设计和编码缺陷是可以通过静态代码分析来发现和修复。 代码静态检查工具我们使用SonarQube....我们团队在使用代码静态检查初期也遇到过这几个问题,下面将为大家抛砖引玉介绍下是如何解决规则制定 1、在代码静态检查初期,我们使用原始规则对代码进行扫描。...SonarQube可执行扫描工具是 Sonar Runner, Android 可以使用是 lint , iOS可以使用是 oclint. 诸如此类工具比较多,感兴趣同学可以自行查询。

1.1K70

在k8s集群部署SonarQube

Sonar 不仅提供了对 IDE 支持,可以在 Eclipse和 IntelliJ IDEA 这些工具里联机查看结果;同时 Sonar 还对大量持续集成工具提供了接口支持,可以很方便地在持续集成中使用...遵循代码标准 sonar可以通过PMD,CheckStyle,Findbugs等等代码规则检测工具规范代码编写。...糟糕复杂度分布 文件、类、方法等,如果复杂度过高将难以改变,这会使得开发人员 难以理解它们, 且如果没有自动化单元测试,对于程序中任何组件改变都将可能导致需要全面的回归测试。...糟糕设计 通过sonar可以找出循环,展示包与包、类与类之间相互依赖关系,可以检测自定义架构规则 通过sonar可以管理第三方jar包,可以利用LCOM4检测单个任务规则应用情况, 检测耦合...版本 SonarQube版本:7.9.1 2、部署sonarqube SonarQube需要依赖数据库存储数据,且SonarQube7.9及其以后版本将不再支持Mysql,所以这里推荐设置PostgreSQL

3.7K21

SonarQube代码扫描规则

至少这是目标,因此开发人员不必怀疑是否需要修复。 对于漏洞,目标是让超过 80% 问题是真实。 安全热点规则将注意力引向对安全敏感代码。...就绪:规则已准备好在生产中使用。 可用时间:首次在 SonarQube 上添加规则日期。例如,这对于列出自上次插件升级以来所有新规则很有用。...规则详情 要查看规则详细信息,请单击它,或使用向右箭头键。除了基本规则数据外,您还可以查看它在哪些(如果有)配置文件中处于活动状态,以及使用它提出了多少未解决问题。...根据以下问题答案将规则分配给类别: 关于代码规则是明显错误,还是更可能是错误? 如果答案是“是”,那么这是一个错误规则。 如果... 是关于可以被黑客利用代码规则吗?...如果是这样,那么这是一个漏洞规则。 如果... 关于代码规则是安全敏感吗? 如果是这样,那么这是安全热点规则。 如果... 规则既不是错误也不是漏洞吗? 如果是这样,那么这是代码气味规则

2.2K30

要想代码写好,这几款IDEA插件你离不了!

上面只是为了演示这个插件强大,实际上创建线程池推荐使用这种方式, 推荐使用 ThreadPoolExecutor 构造函数创建线程池。...非常推荐安装! 安装完成之后建议将与语言替换成中文,提示更加友好一点。 ?...使用效果 这个插件会实时检测出我们代码匹配它规则地方,并且会给出修改建议。比如我们按照下面的方式去创建线程池的话,这个插件就会帮我们检测出来,如下图所示。 ?...04 SonarLint:帮你优化代码 SonarLint 帮助你发现代码错误和漏洞,就像是代码拼写检查器一样,SonarLint 可以实时显示出代码问题,并提供清晰修复指导,以便你提交代码之前就可以解决它们...并且,很多项目都集成了 SonarQube,SonarLint 可以很方便地与 SonarQube 集成。

1.4K40

代码质量管理一些思路

例如,没有按规范使用日志框架打印日志,而使用了System.out;没有按规范关闭输入流 / 输出流。这种代码质量问题,则需要使用一些静态代码扫描工具,进行扫描,然后再进行修复。...例如,使用 sonar 静态代码扫描,sonar 由2部分组成,分别是 SonarQube 平台,SonarScanner扫描器。...SonarQube: WEB 界面管理平台 展示所有的项目代码质量数据 配置质量规则、管理项目、配置通知、配置SCM等 SonarScanner: 代码扫描工具 专门用来扫描和分析项目代码。...0x03:动态扫描 (安全扫描) 静态扫描就是运行程序,通过扫描源代码方式检查漏洞;动态扫描则是在运行程序下,通过接口渗透方式检查漏洞。...AppScan 有自己用例库,版本越新用例库越全(用例库越全面,对漏洞检测较全面,被测试系统安全性则越高) 工作原理: 通过探索了解整个 web 页面结果 通过分析,使用扫描规则库对修改 HTTP

84520

代码质量与技术债

规范代码、不良注释和复杂度过高代码会增加阅读和理解代码难度,复杂度过高也会极大增加测试覆盖难度,耗费过多人力,而缺少测试覆盖代码会使得定位问题和修复问题难度加大;结构不良、低内聚高耦合代码则会使得哪怕是微小需求变更或功能扩展都无从下手...在5.4之后版本,即目前使用版本则进一步简化,代码质量对应扫描规则直接归属于“坏味道”大类,具体规则可以打上多种标签来归类,分类和配置更加灵活。 那么,这些规则应该怎么量化呢?...因此,技术债“本金”就定义为修复代码质量问题所需消耗人力资源估值,例如,针对java语言,修复一个圈复杂度为15方法需要一个开发人员15分钟时间(以sonar java分析器缺省设置为例),这个值就是负债本金...有的代码扫描工具会针对规则定义本金和利息计算方法,如Coder GearsCppDepend,我们目前使用SonarQube平台上代码扫描插件不支持计算利息,因此本文就不过多讨论,大家只需要记住...我们日常工作使用工具平台是SonarQube,如下图所示: ?

2.8K72

敏捷过程中如何保证代码质量

PMD: 注重检查源文件中潜在问题,可以检查Java代码中是否有未使用变量、私有方法,是否有空try/catch、是否过于复杂表达式等等。...HP Fortify:商用代码安全分析工具,侧重于代码中安全漏洞检测。Fortify通过与安全漏洞规则库进行匹配,将源码中安全漏洞扫描出来,并生成报告和修复意见。...、使用SonarQube Scanner执行分析; d) 分析报告被发送到SonarQube Server进行处理; e) 处理好报告生成对应可视化视图,并将数据保持到数据库; f) 开发者可以在页面通过查看...代码规则:在SonarQube中,通过插件提供规则,在执行代码分析时对代码进行分析并生成问题。由于规则中定义了修复问题话费成本(时间),解决问题代价以及技术债可以通过这些问题进行计算。...SonarQube Server处理分析报告时,根据质量配置中代码规则进行匹配,从而生成具体指标数据,然后根据质量阈中阈值判断出项目的代码是否合格。

1.8K61

SonarQube各指标的定义及计算方法

其实原理可以理解为“出来混早晚要还”,当前规范代码,会对以后产品修改成本造成影响。Technical Debt 计算公式如下: 3.2 开发成本 开发一行代码(LOC)成本。...5、Duplications重复 5.1 Duplication SonarQube使用自己复制/粘贴检测引擎,可以检测重复: 1、在源文件中 2、跨项目中多个文件 3、项目的各个模块 4、跨多个项目...(只有在要对块进行单元测试时才这样做) b、将复制更改复制到复制块上 c、使用问题和技术债务机制,通过编辑质量配置文件以包括来自公共Sonar存储库复制块规则,监控成本并跟踪此错误修复。...有时,Bug和Code Smell之间界线是模糊。当有疑问时,问自己:“打破这条规则代码是否是程序员想要?如果答案是“可能不是”,那么它是一个Bug。否则它就是一个代码坏味道。...9.5 Won't Fix 不修复问题 – 通过查看上下文中关联,你意识到虽然这是一个有效问题,实际上并不需要修复。因此可以在此处标记为Won't Fix,然后继续下一步。

2.9K30

sonar中技术债务简要了解 原

SonarQube实现SQALE方法中,那些非质量需求指的是质量配置中编码规则。 没错,SonarQube基于单独规则和问题实现了SQALE。...那意味着,如果你想用SQALE管理你技术债务,你首先需要公共SonarQube存储库中那些规则标记: 重复代码块 失败单元测试 不足分支单元测试覆盖率 不足注释密度...技术债务为每个问题设置了规则等级。如果你已经了解商业SQALE插件,你可以调整每个规则估量(当然,这个是没有必要)。 现在你知道修复应用需要花费多长时间,但是你怎么按优先级排序你工作呢?...可测试性是底部,因为它最重要是:首先,你要确保你应用程序是可测试,接着你要确保它可靠性,可变性,有效性,等等。 图中每条显示了每个特征修复时间。...SonarSource SQALE插件扩展了SonarQube内置插件功能。扩展功能有:可以调整SQALE模型,提供了可添加小部件等等。

2.5K20

IOS 代码扫描从放弃到入门

一、前言 我司今年开始尝试一些代码质量相关建设,比如组织 codereview、修复代码扫描漏洞.这是一个很好现象,当我们为了快速迭代,往往为了让需求上线,导致代码并不是很规范,时间长了就留下了一堆技术债...前日一天,iOS 老哥找我说让看看能不能弄弄 IOS 代码扫描,扫描出一些代码漏洞,尝试去修复漏洞和 bug. 于是乎,下面就是我记录一下折腾了几天完成 IOS 代码扫描初探过程....) Java JDK(推荐jdk而不是jre,最新即可) maven xcode(通过appstore下面) xcpretty(用于对xcodebuild输出进行格式化) sonarqube(代码扫描平台...需要在找一个免费插件,在github找到两个项目 插件一 https://github.com/Backelite/sonar-objective-c 这个插件在三年前没有修改了,在使用中发现有些扫描规则并没有...中删除这个规则 问题3:没有这个规则 解决方案:使用新版本jar包 问题4:有个异常,去掉-Dsonar.swift.swiftlint.report=swiftlint.txt 问题5 因为每次扫描都是增量扫描

2.9K20

SonarQube系列-架构与外部集成

SonarQube之采购选型参考 利用SonarQube主要好处是:它集成了数千种自动静态代码分析规则,旨在提高开发人员代码质量和安全性,使得开发人员编写更加干净,更加安全代码。...应用安全支持:修复可能危害到应用程序漏洞,并通过安全热点学习AppSec(简单理解就是会学习和识别新漏洞)。 技术债务支持:确保管理代码库干净并且可维护,以便提高开发人员开发效率。...质量阈值可以进行自定义,SonarQube中针对每个项目会有详细面板信息,里面会给出项目当前健康状态,不同级别漏洞分类和明细,漏洞对应提交者等多维度统计信息,方便进行问题追踪和修复。...外部集成 下面的模式展示了SonarQube如何与其他ALM工具集成,以及使用SONARQUE各种组件。 开发人员在IDE中编写代码,并使用SonarLint来运行本地分析。...对代码库扫描结果从而通知Developer, SonarLint本身也可以基于一些规则对代码IDE中代码进行即时检测。

28410

代码扫描 | 把控代码质量利器

以笑开场,这是一篇写给极少使用/了解代码扫描工具用户“启蒙”读物。...一方面因为代码扫描存在一定技术壁垒,涉及到词法/语法分析、编译注入、模式识别及安全等相关领域,想要了解这方面的内容可能难以下手;另一方面,由于目前大众对于代码扫描产品及其领域还存在着较多误解,极大程度上影响了代码扫描使用体验...希望通过这篇文章,以一些常见场景为例,通俗易懂地解释代码扫描价值与使用方法,帮助读者深入理解,快速上手,让代码扫描产品在助力企业建设 DevSecOps 道路上,发挥最大价值。...本地扫描,规则与远端同步 即便是本地扫描,我们也希望本地规则和远端规则有差异,导致本地扫描通过提交后又被驳回。...质量门禁,既往咎来者可追 只是做本地扫描,还是会有“心大”开发者不修复问题直接 push 到远端,这时就可以通过平台侧提供质量门禁功能来做拦截了。

1K50
领券