`

sonar 与 NOSONAR

 
阅读更多
    大家都知道sonar是个好东东,在有CI支持的情况下,使用好了可以非常好的控制代码的质量,诸如代码覆盖率,代码规则检查等。

    而解决violation的办法,除了正统的修改代码来满足规则外,还有一个变通的方法, NOSONAR。这个标记本意是在一些特殊情况,有不得已的理由不得不违反规则,为了避免sonar继续报错而不得已做了一个"变通"。

    NOSONAR本意虽好,但要是有人滥用,变通就会变成取巧,因为解决sonar violation的最简单的方法,就是直接NOSONAR!

    当问题很简单时,一般人都会选择正常的方式修改代码,如果只是举手之劳基本上还是能遵守规则的。但是当问题复杂时,或者说当解决问题不再是举手之劳时,每个人都要受到NOSONAR的诱惑。而NOSONAR的底线在哪里?没有人定义,没有人检测,自然不会每个人都坚守,NOSONAR的底线随着一个一个的NOSONAR慢慢的在降低。退五十步的人,是没有资格笑百步的。

    返回到现实代码中,不知道是大家都没有顶住诱惑,还是说我们开启的规则不大合理,总之越来越频繁的在代码中看到NOSONAR了,虽然还没有到泛滥的地步,但是已经让我有些不安了。简单搜索了一下刚才让我感觉到很多NOSONAR的project,结果是58个。

    更糟糕的是,每个NOSONAR后面都不会带有注释说明为什么要NOSONAR,因此一个个飞舞的NOSONAR就变成了一个个谜团。想知道为什么要NOSONAR吗?恩,你猜......

    我没有办法去检查这个58个NOSONAR是不是都合理的,都站得住脚的。出于程序员的习惯,对于一切不可确认性都报以怀疑的眼光和质疑的姿态,我总觉得这58个NOSONAR让我总是没有底,每次我看到sonar上100%的规则检测通过率时,我总是禁不住在心里浮现NOSONAR的字样。

    好吧,我承认,我是个心里有些阴暗的家伙......
分享到:
评论

相关推荐

    sonar与maven的集成使用说明

    ### Sonar与Maven的集成使用说明 #### 一、Sonar简介与本地环境搭建 Sonar是一款开源的代码质量管理工具,它支持多种语言,并且能够帮助开发团队进行持续的代码质量检查。Sonar可以自动地对源代码进行分析,提供...

    sonar eclipse插件sonarlint

    sonar eclipse插件sonarlint,原先的插件已经被启用,这是最新的,如果连接本地sonar服务器,需要在eclipse.ini中配置启动参数,参数为org.sonarlint.eclipse.core/server_url 值为sonar服务器地址,如果不配置默认...

    【中文版】sonar实战

    Sonar不仅提供了静态代码分析,还涵盖了动态分析(如单元测试)、系统分析、人工代码审查、历史版本分析以及与持续集成(CI)系统的集成。Sonar的灵活性和广泛的支持使其成为代码质量管理领域的“神器”。 #### ...

    fisher_Sonar数据集_fisher_sonar_fishersonar_分类_数据集sonar_源码

    《Fisher Sonar数据集与线性判别分析在分类中的应用》 Fisher Sonar数据集,全称为fisher_sonar或fishersonar,是机器学习领域中一个广泛使用的分类问题实例,主要应用于训练和测试算法的性能。这个数据集源自声纳...

    Sonarlint中文使用手册

    SonarLint是开源且免费的插件,不过它需要运行在Java8环境下,并且需要与SonarQube 5.6+版本配合使用。同时,SonarQube服务器端也有其环境要求,比如支持Mysql版本5.6/5.7和Maven版本3.x等。 对于SonarLint在...

    Sonar的配置与安装

    Sonar 配置与安装 Sonar 是一款功能强大的代码检查工具,能够对代码进行静态分析,检测代码中存在的缺陷和问题。Sonar 的配置和安装是使用 Sonar 的前提,下面将详细介绍 Sonar 的安装和配置过程。 Sonar 简介 ...

    sonar runner 进行代码质量监控

    ### Sonar Runner 进行代码质量监控 #### 一、Sonar环境搭建 为了实现代码的质量监控,首先需要搭建Sonar环境。以下是详细的步骤: 1. **安装JDK-1.5以上版本**:Sonar需要Java环境支持,因此首先要确保安装了JDK...

    IntelliJ IDEA-SonarLint 离线傻瓜式安装

    SonarLint原生集成在IntelliJ IDEA中,但有时可能会遇到与其它插件如`scalint`的兼容性问题,因此,本篇将介绍如何进行SonarLint的离线傻瓜式安装。 首先,由于在线安装SonarLint时可能会遇到版本不匹配或验证失败...

    sonarlint-3.6.0.zip

    - 集成SonarQube服务器:连接到SonarQube服务器后,SonarLint可以从服务器同步项目规则,确保本地分析与服务器上的分析保持一致。 - 多语言支持:SonarLint支持多种编程语言,如Java、C#、JavaScript、Python等。 - ...

    jenkins+sonarqube+sonar-scanner(无ngrok).zip

    《Jenkins、SonarQube与Sonar-Scanner的集成详解》 在现代软件开发流程中,自动化部署和代码质量检查已经成为不可或缺的环节。本文将详细介绍如何使用Jenkins集成SonarQube和Sonar-Scanner,实现自动化部署测试并...

    java代码集成sonar接口,实现sonar操作的demo

    利用java代码,调用sonar接口,实现在sonar里面创建,更改,用户,组,权限等一系列操作

    sonar汉化包等插件

    2. **sonar-scm-svn-plugin-1.3.jar**:此插件是用于Subversion (SVN)版本控制系统的集成,它能够追踪代码变更历史,帮助分析代码修改与质量问题之间的关系。 3. **sonar-scm-git-plugin-1.2.jar**:对于使用Git...

    Sonar-runner Sonar代码扫描辅助工具sonarScanner

    sonar4版本扫描辅助程序. 向服务器上传代码并做扫描分析. 使用方式: CMD切换到项目根目录下(sonar-project.properties文件所在目录)运行 sonar-runner

    sonar使用教程

    sonar-runner.properties配置文件中需要设置sonar.host.url来指定SonarQube服务器的地址和端口,sonar.jdbc.url、sonar.jdbc.username和sonar.jdbc.password来配置与数据库的连接信息。此外,sonar.sourceEncoding...

    sonar-scanner连接sonarquebe7的sonar.java.binaries问题的解决方案

    当然,更长期的解决方案应该是更新SonarScanner到与SonarQube 7.x兼容的版本,并正确配置`sonar.java.binaries`。该属性需要指向项目编译后产出的class文件的目录,通常这些目录位于`target/classes`或`target/test-...

    sonar.rar_mat数据处理_mat数据集_sonar data_sonar dataset_sonar.mat

    五、评估与优化 完成模型训练后,我们需要使用交叉验证、混淆矩阵、精确率、召回率、F1分数等指标来评估模型的性能。对于Sonar数据集这样的不平衡数据,还需关注查全率和查准率。此外,调参是优化模型的关键步骤,...

    代码检测插件(SonarLint插件)安装使用说明.docx

    与SonarQube结合使用时,SonarLint可以从SonarQube服务器获取统一的代码规范,确保全公司的代码风格一致。 在Eclipse中安装SonarLint分为在线安装和离线安装两种方式: 1. **在线安装**: - 打开Eclipse,进入`...

    sonar 和sonarscanner的linux安装包

    1. 解压`sonar-scanner-cli-3.0.3.778-linux.zip`,这将包含可执行文件`bin/sonar-scanner`。 2. 将解压后的目录添加到系统的PATH环境变量中,以便在任何地方都能执行`sonar-scanner`命令。 3. 可选:自定义分析配置...

    SonarLint for Visual Studio 2019、2022

    内含两个版本[SonarLint for Visual Studio 2019、SonarLint for Visual Studio 2022](适用于VS2019、VS2022两个版本,非此版本的不适配勿下载):SonarLint 是一个免费的开源IDE 扩展,可识别并帮助您在编写代码时...

    sonar中文插件1.28

    SonarQube是一款强大的静态代码分析工具,广泛用于软件质量管理,它能检测代码中的缺陷、漏洞、重复代码以及代码质量状况...在使用时,务必确保与所运行的SonarQube版本相匹配,同时关注未来可能的更新以保持最佳性能。

Global site tag (gtag.js) - Google Analytics