标签: static-code-analysis

为什么“(uint8)0U”在静态代码分析工具中显示为有符号操作数?

当我运行静态代码分析时,它显示:

Bitwise operator "~" has a signed operand "(uint8)0U"

为什么这个操作数是有符号的,而我显式地将其转换为uint8相当于unsigned char并且还用U代表无符号整数的文字后缀?

c misra static-code-analysis cert

1
推荐指数
1
解决办法
175
查看次数

SonarLint 仅在文件更改中显示问题

我正在寻求改进我正在工作的部门的代码库,并且我想以渐进的方式做到这一点。我的想法是,我只想在开发人员正在更改的文件中运行 SonarQube 和 SonarLint。在sonarqube中,我们有: https://blogs.msdn.microsoft.com/visualstudioalm/2016/06/02/sonarqube-code-analysis-issues-integration-into-pull-requests/

有没有办法在 SonarLint 中做同样的事情?

对于具有大量技术债务的代码库,如果 SonarLint 要列出所有当前文件的问题,而我只想列出用户已更改的文件的问题。

让我知道您的想法或实现类似目标的任何其他方法

static-code-analysis sonarqube sonarlint sonarlint-vs

0
推荐指数
1
解决办法
1547
查看次数

使用 Perl 解析 JavaScript:从 JE->parse 获取“undef”

我有 Javascript 代码,我需要将 javascript 变量解析为 perl 哈希。有没有现成的模块?我尝试了JE::parse()JavaScript::HashRef::Decode但都没有奏效。

预期行为:

use Data::Dumper;
use SomeModule::ParseJSVariables qw/decode_js/;

my $str = qq/
var data = {
    'abc': 1,
    'def' : 2
    'xyz' : { 'foo' : 'bar' }
}
/;

my $res = decode_js($str);
warn Dumper $res; #

# expected result: 
# { 
#   name => 'data', 
#   value => {
#     'abc' => 1,
#     'def' => 2
#     'xyz' => { 'foo' => 'bar' }
#     }
# } …
Run Code Online (Sandbox Code Playgroud)

javascript perl parsing static-code-analysis

0
推荐指数
1
解决办法
1684
查看次数

IndentationError 在 `ast.parse` 和 `ast.walk` 的一个函数中,该函数是类中的一个方法

我想我知道IndentationError 中IndentationError描述的类似的常见原因:例如,unindent 不匹配任何外部缩进级别。这不适用于这里。

另外,我知道,textwrap.dedent但感觉这里不是正确的方法?


如果我有一个“正规”的功能,我可以做ast.parseast.walk这样的:

import ast
import inspect

def a():
    pass

code = inspect.getsource(a)
nodes = ast.walk(ast.parse(code))
for node in nodes:
    ...
Run Code Online (Sandbox Code Playgroud)

但是,如果函数是类中的方法,例如:

class B:
    def c(self):
        pass

code = inspect.getsource(B.c)
nodes = ast.walk(ast.parse(code))
Run Code Online (Sandbox Code Playgroud)

我得到:

IndentationError: unexpected indent
Run Code Online (Sandbox Code Playgroud)

我想这是有道理的,因为B.c 缩进了一级。那么我ast.parseast.walk这里怎么办呢?

python parsing indentation abstract-syntax-tree static-code-analysis

-1
推荐指数
1
解决办法
684
查看次数

哪个代码编写得更好?

我在我们的工具上运行了一个静态代码分析工具,并查看其结果,下面的代码就是它所讨论的事情之一:

    SpreadSnapshot oSnap = new SpreadSnapshot();
    using (oSnap.SetRowCol(fpSpread, row, col))
    {
        SpreadSetComboBox(fpSpread, list, displayProperty);
    }
Run Code Online (Sandbox Code Playgroud)

所以我将其更改为下面的代码并修复了该工具正在讨论的错误:

    using (SpreadSnapshot oSnap = new SpreadSnapshot())
    {
        oSnap.SetRowCol(fpSpread, row, col);
        SpreadSetComboBox(fpSpread, list, displayProperty);
    }
Run Code Online (Sandbox Code Playgroud)

那么在您看来,您认为哪种编码风格更合适,更不容易出错?

谢谢

c# static-code-analysis

-2
推荐指数
1
解决办法
313
查看次数

基于 java 的项目环境设置的 sonar.java.binaries 属性中的错误

错误 | 爪哇| 声纳Qube | 请提供带有 sonar.java.binaries 属性的项目的编译类。

下面是我的 sonar-project.properties 文件。我已经提供了我的二进制文件路径。但是,我仍然收到错误消息。

sonar.projectKey=Hello
sonar.projectName=JavaPro
sonar.projectVersion=1.0
sonar.java.sources=java
sonar.java.binaries=bin/A.jar
sonar.java.file.suffixes=java
sonar.sourceEncoding=UTF-8
Run Code Online (Sandbox Code Playgroud)

java static-code-analysis sonar-runner sonarqube

-2
推荐指数
1
解决办法
1万
查看次数