当我运行静态代码分析时,它显示:
Bitwise operator "~" has a signed operand "(uint8)0U"。
为什么这个操作数是有符号的,而我显式地将其转换为uint8相当于unsigned char并且还用U代表无符号整数的文字后缀?
我正在寻求改进我正在工作的部门的代码库,并且我想以渐进的方式做到这一点。我的想法是,我只想在开发人员正在更改的文件中运行 SonarQube 和 SonarLint。在sonarqube中,我们有: https://blogs.msdn.microsoft.com/visualstudioalm/2016/06/02/sonarqube-code-analysis-issues-integration-into-pull-requests/
有没有办法在 SonarLint 中做同样的事情?
对于具有大量技术债务的代码库,如果 SonarLint 要列出所有当前文件的问题,而我只想列出用户已更改的文件的问题。
让我知道您的想法或实现类似目标的任何其他方法
我有 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) 我想我知道IndentationError 中IndentationError描述的类似的常见原因:例如,unindent 不匹配任何外部缩进级别。这不适用于这里。
另外,我知道,textwrap.dedent但感觉这里不是正确的方法?
如果我有一个“正规”的功能,我可以做ast.parse和ast.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)
我得到:
Run Code Online (Sandbox Code Playgroud)IndentationError: unexpected indent
我想这是有道理的,因为B.c 它缩进了一级。那么我ast.parse和ast.walk这里怎么办呢?
python parsing indentation abstract-syntax-tree static-code-analysis
我在我们的工具上运行了一个静态代码分析工具,并查看其结果,下面的代码就是它所讨论的事情之一:
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)
那么在您看来,您认为哪种编码风格更合适,更不容易出错?
谢谢
错误 | 爪哇| 声纳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) parsing ×2
sonarqube ×2
c ×1
c# ×1
cert ×1
indentation ×1
java ×1
javascript ×1
misra ×1
perl ×1
python ×1
sonar-runner ×1
sonarlint ×1
sonarlint-vs ×1