白盒测试工具 - sonar报告常见示例分析,sonar代码质量问题分析演示

简介: 白盒测试工具 - sonar报告常见示例分析,sonar代码质量问题分析演示

         

sonar 问题分析

第一章:bug分析

① 操作符两边使用相同的值

译文: 在二进制操作符的两边使用相同的值几乎总是错误的。在逻辑操作符的情况下,它要么是一个复制/粘贴错误,因此是一个bug,要么只是浪费代码,应该进行简化。在逐位运算符和大多数二进制数学运算符的情况下,在运算符的两边都有相同的值会产生可预测的结果,应该加以简化。

Using the same value on either side of a binary  operator is almost always a mistake. In the case of logical operators,  it is either a copy/paste error and therefore a bug, or it is simply  wasted code, and should be simplified. In the case of bitwise operators  and most binary mathematical operators, having the same value on both  sides of an operator yields predictable results, and should be  simplified.

image.png

② 变量、类或函数没有被定义就使用

译文: 变量、类和函数应该在使用之前定义,否则代码会失败。

Variables, Classes and functions should be defined before they are used, otherwise the code will fail.

image.png

③ html一些不推荐使用的元素,并提供用哪些来代替

不推荐用 font 来设置字体,建议使用 css

译文: 随着HTML5的出现,许多旧的元素被抛弃了。为了确保最佳的用户体验,不应该使用不赞成的元素。此规则检查下列不赞成使用的元素

With the advent of HTML5, many old elements were  deprecated. To ensure the best user experience, deprecated elements  should not be used. This rule checks for the following deprecated  elements

image.png

④ html 元素没有包含 lang 属性

译文: <html>元素应该提供lang和/或xml:lang属性,以便识别文档的默认语言。

The element should provide the lang and/or xml:lang attribute in order to identify the default language of a document.

image.png

第二章:代码味道

① 不要有注释的代码,会使代码臃肿降低可读性。

译文: 程序员不应该注释掉代码,因为代码会使程序臃肿,降低可读性。

Programmers should not comment out code as it bloats programs and reduces readability.image.png

② 合并可折叠的语句会增加代码的可读性。

两个 if 条件语句嵌套,完全可以用一个 if ,加上 and 连接词即可。

译文: 合并可折叠的语句会增加代码的可读性。

Merging collapsible if statements increases the code’s readability.

image.png

③ 结构中有两个分支且实现相同容易出现问题,最好合并起来。

可以看到我的两个分支实现是一样的。

译文: 如果结构中有两个分支,且实现相同,则最好的情况是重复代码,最坏的情况是编码错误。如果两个实例确实需要相同的逻辑,那么应该将它们组合起来。

Having two branches in the same if structure with the  same implementation is at best duplicate code, and at worst a coding  error. If the same logic is truly needed for both instances, then they  should be combined.image.png

④ 函数命名不规范。

译文: 共享编码约定允许团队高效协作。该规则检查所有函数名是否与提供的正则表达式匹配。

Shared coding conventions allow teams to collaborate  efficiently. This rule checks that all function names match a provided  regular expression.

⑤ 声明了局部变量但是没有用,应该删除来提高可维护性。

译文: 如果声明了局部变量但没有使用,那么它就是死代码,应该被删除。这样做将提高可维护性,因为开发人员不需要考虑变量的用途。

If a local variable is declared but not used, it is  dead code and should be removed. Doing so will improve maintainability  because developers will not wonder what the variable is used for.

image.png

⑥ 函数过于复杂不利于维护

译文: 认知复杂性是衡量一个函数的控制流有多难以理解的一个指标。具有高度认知复杂性的功能将难以维持。

Cognitive Complexity is a measure of how hard the  control flow of a function is to understand. Functions with high  Cognitive Complexity will be difficult to maintain.

image.png

⑦ 重复的字符串文本使重构代码的过程容易出错

我圈住的字符串在代码里出现 3 次,重构代码时一定要小心出问题。

译文: 重复的字符串文本使重构过程容易出错,因为必须确保更新所有出现的字符串。

Duplicated string literals make the process of refactoring error-prone, since you must be sure to update all occurrences.image.png

喜欢的点个赞❤吧!


目录
相关文章
|
10天前
|
缓存 监控 算法
软件测试中的性能瓶颈分析与优化策略
【10月更文挑战第6天】 性能测试是确保软件系统在高负载条件下稳定运行的重要手段。本文将深入探讨性能测试的常见瓶颈,包括硬件资源、网络延迟和代码效率等问题。通过具体案例分析,我们将展示如何识别并解决这些问题,从而提升软件的整体性能。最后,文章还将分享一些实用的性能优化技巧,帮助读者在日常开发和测试中更好地应对性能挑战。
46 3
|
29天前
|
监控 测试技术 持续交付
软件测试中的性能瓶颈分析与优化策略
性能瓶颈,如同潜伏于软件深处的隐形障碍,悄然阻碍着系统的流畅运行。本文旨在揭示这些瓶颈的形成机理,剖析其背后的复杂成因,并汇聚一系列针对性的优化策略,为软件开发者提供一套系统性的解决方案。
43 5
|
15天前
|
Java 流计算
Flink-03 Flink Java 3分钟上手 Stream 给 Flink-02 DataStreamSource Socket写一个测试的工具!
Flink-03 Flink Java 3分钟上手 Stream 给 Flink-02 DataStreamSource Socket写一个测试的工具!
31 1
Flink-03 Flink Java 3分钟上手 Stream 给 Flink-02 DataStreamSource Socket写一个测试的工具!
|
3天前
|
设计模式 关系型数据库 测试技术
进阶技巧:提高单元测试覆盖率与代码质量
【10月更文挑战第14天】随着软件复杂性的不断增加,确保代码质量的重要性日益凸显。单元测试作为软件开发过程中的一个重要环节,对于提高代码质量、减少bug以及加快开发速度都有着不可替代的作用。本文将探讨如何优化单元测试以达到更高的测试覆盖率,并确保代码质量。我们将从编写有效的测试用例策略入手,讨论如何避免常见的测试陷阱,使用mocking工具模拟依赖项,以及如何重构难以测试的代码。
13 4
|
5天前
|
jenkins 测试技术 持续交付
提升软件测试效率的实用技巧与工具
【10月更文挑战第12天】 本文将深入探讨如何通过优化测试流程、引入自动化工具和持续集成等策略,来显著提高软件测试的效率。我们将分享一些实用的技巧和工具,帮助测试人员更高效地发现和定位问题,确保软件质量。
16 2
|
15天前
|
缓存 监控 测试技术
软件测试中的性能瓶颈分析与优化策略
本文深入探讨了在软件测试过程中,如何有效地识别和解决性能瓶颈问题。通过对性能瓶颈的定义、分类以及常见原因的分析,结合实际案例,提出了一系列针对性的优化策略和方法。这些策略旨在帮助测试人员和开发人员提高软件的性能表现,确保软件在高负载条件下依然能够稳定运行。
|
13天前
|
测试技术
黑盒功能测试工具UFT的使用
黑盒功能测试工具UFT的使用
23 0
黑盒功能测试工具UFT的使用
|
17天前
|
XML 网络安全 数据格式
Kali渗透测试:Windows事件管理工具wevtutil的使用方法(一)
Kali渗透测试:Windows事件管理工具wevtutil的使用方法(一)
53 2
|
1月前
|
测试技术 持续交付 UED
软件测试的艺术与科学:平衡创新与质量的探索在软件开发的波澜壮阔中,软件测试如同灯塔,指引着产品质量的方向。本文旨在深入探讨软件测试的核心价值,通过分析其在现代软件工程中的应用,揭示其背后的艺术性与科学性,并探讨如何在追求技术创新的同时确保产品的高质量标准。
软件测试不仅仅是技术活动,它融合了创造力和方法论,是软件开发过程中不可或缺的一环。本文首先概述了软件测试的重要性及其在项目生命周期中的角色,随后详细讨论了测试用例设计的创新方法、自动化测试的策略与挑战,以及如何通过持续集成/持续部署(CI/CD)流程优化产品质量。最后,文章强调了团队间沟通在确保测试有效性中的关键作用,并通过案例分析展示了这些原则在实践中的应用。
62 1
|
1月前
|
监控 算法 测试技术
软件测试中的性能瓶颈分析与优化策略
本文旨在深入探讨软件测试过程中性能瓶颈的识别与优化方法。通过对性能瓶颈的概念、分类及其成因进行分析,结合实际案例,提出一套系统的性能瓶颈诊断流程和针对性的优化策略。文章首先概述了性能瓶颈的基本特征,随后详细介绍了内存泄漏、资源竞争、算法效率低下等常见瓶颈类型,并阐述了如何通过代码审查、性能监测工具以及负载测试等手段有效定位问题。最后,结合最佳实践,讨论了代码级优化、系统配置调整、架构改进等多方面的解决措施,旨在为软件开发和测试人员提供实用的性能优化指导。
55 4