标签: code-analysis

checkstyle +抑制滤镜

我有一个checkstyle抑制滤波器设置(例如,忽略单元测试代码中的幻数).

抑制xml文件与checkstyle xml文件位于同一文件夹中.但是,这个文件实际上有所不同:在我的Windows开发盒上它位于Linux CI服务器上的d:\ dev\shared\checkstyle\config中,它将位于/ root/repo/shared/checkstyle/config上另一个开发人员盒子上它可能在任何地方(他们检查他们的svn回购).

唯一"一致"的事情是抑制文件始终与checkstyle xml文件位于同一文件夹中.我无法弄清楚如何确保始终一致地拾取此文件.另外我不知道为什么checkstyle不支持checkstyle xml文件中的嵌入式抑制.

任何帮助?

java code-analysis static-analysis checkstyle

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

SQL Server - 架构/代码分析规则 - 您的规则包含哪些内容?

我们使用Visual Studio Database Edition(DBPro)来管理我们的架构.这是一个很棒的工具,它可以做很多事情,可以根据规则分析我们的模式和T-SQL代码(很像FxCop用C#代码做的事情),并将某些事情标记为警告和错误.

一些示例规则可能是每个表必须有一个主键,列名中没有下划线,每个存储过程必须有注释等.

DBPro内置的规则数量相当少,有点奇怪.幸运的是,DBPro有一个允许开发人员创建自己的API.我很好奇您和您的数据库团队将创建的规则类型(架构规则和T-SQL规则).查看一些规则可能有助于我们决定应该考虑什么.

谢谢 - 兰迪

sql t-sql sql-server code-analysis

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

我应该压制CA1062:验证公共方法的参数吗?

我最近从Visual Studio 2008将项目升级到Visual Studio 2010.

在Visual Studio 2008中,此代码分析规则不存在.

现在我不确定我是否应该使用这条规则.

我正在构建一个开源库,因此让人们免于犯错似乎很重要.但是,如果我要做的就是ArgumentNullException在参数出现时抛出null,它似乎编写无用的代码,因为ArgumentNullException即使我不编写该代码也会被抛出.

编辑:此外,还有一个性能问题需要解决.检查null每种公共方法都可能导致性能问题.

我应该删除该规则还是修复违规行为?

code-analysis fxcop visual-studio-2010 ca1062 visual-studio

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

代码分析抱怨我没有处理对象.这有什么不对?

考虑这段代码

private MailMessage GetMailMessageFromMailItem(Data.SystemX.MailItem mailItem)
        {

            var msg = new MailMessage();

            foreach (var recipient in mailItem.MailRecipients)
            {
                var recipientX = Membership.GetUser(recipient.UserKey);
                if (recipientX == null)
                {
                    continue;
                }

                msg.To.Add(new MailAddress(recipientX.Email, recipientX.UserName));
            }

            msg.From = new MailAddress(ConfigurationManager.AppSettings["EmailSender"],
                                   ConfigurationManager.AppSettings["EmailSenderName"]);

            msg.Subject = sender.UserName;
            if (!string.IsNullOrEmpty(alias)) msg.Subject += "(" + alias + ")";
            msg.Subject += " " + mailItem.Subject;
            msg.Body = mailItem.Body;
            msg.Body += Environment.NewLine + Environment.NewLine + "To reply via Web click link below:" + Environment.NewLine;
            msg.Body += ConfigurationManager.AppSettings["MailPagePath"] + "?AID=" + ContextManager.AccountId …
Run Code Online (Sandbox Code Playgroud)

c# dispose code-analysis mailmessage

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

代码分析因RIA而中断?

 MSBUILD : error : CA0055 : Could not unify the platforms (mscorlib, Version=2.0.5.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e, mscorlib, Version=5.0.5.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e)
Run Code Online (Sandbox Code Playgroud)

我正在加载的唯一外部库是RIA 1.0 SP2,我认为SL5应该没问题?

如何检查程序集以查看链接到mscorlib v.2.0.5.0的程序集?

编辑: RIA程序集与mscorlib 2.0.5.0链接,我认为这是错误的原因.现在我没有进行代码分析,这非常糟糕.任何已知的解决方法?

c# ria code-analysis silverlight-5.0

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

代码分析规则CA1040:避免空接口,在非空接口上抱怨

我有一个声明事件的接口

interface IMyInterface
{
event SomeHandler MyEvent1;
event SomeHandler MyEvent2;
...
}
Run Code Online (Sandbox Code Playgroud)

但是当我启用代码分析规则CA1040:避免空接口时,它会抱怨我的界面违反了这个规则,任何想法如何解决它?

c# code-analysis fxcop visual-studio

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

使用SonarQube扫描Ruby on Rails项目

我想用sonarqube检查我的Ruby on Rails应用程序.我已经添加了可以与Ruby一起使用的Web插件,但是在sonarqube exectution期间我收到以下错误:

app/controllers/course_statistics_controller.rb
java.lang.NullPointerException: null
at org.sonar.plugins.web.checks.sonar.UnsupportedTagsInHtml5Check.isUnsupportedTag(UnsupportedTagsInHtml5Check.java:77) ~[na:na]
at org.sonar.plugins.web.checks.sonar.UnsupportedTagsInHtml5Check.startElement(UnsupportedTagsInHtml5Check.java:71) ~[na:na]
at org.sonar.plugins.web.visitor.HtmlAstScanner.scanElementTag(HtmlAstScanner.java:117) ~[na:na]
at org.sonar.plugins.web.visitor.HtmlAstScanner.scanElement(HtmlAstScanner.java:96) ~[na:na]
at org.sonar.plugins.web.visitor.HtmlAstScanner.scan(HtmlAstScanner.java:80) ~[na:na]
at org.sonar.plugins.web.visitor.HtmlAstScanner.scan(HtmlAstScanner.java:59) ~[na:na]
at org.sonar.plugins.web.core.WebSensor.analyse(WebSensor.java:93) ~[na:na]
at org.sonar.batch.phases.SensorsExecutor.executeSensor(SensorsExecutor.java:59) [sonar-batch-maven-compat-5.1.jar:na]
at org.sonar.batch.phases.SensorsExecutor.execute(SensorsExecutor.java:51) [sonar-batch-maven-compat-5.1.jar:na]
at org.sonar.batch.phases.DatabaseModePhaseExecutor.execute(DatabaseModePhaseExecutor.java:120) [sonar-batch-maven-compat-5.1.jar:na]
at org.sonar.batch.scan.ModuleScanContainer.doAfterStart(ModuleScanContainer.java:264) [sonar-batch-maven-compat-5.1.jar:na]
at org.sonar.api.platform.ComponentContainer.startComponents(ComponentContainer.java:92) [sonar-batch-maven-compat-5.1.jar:na]
at org.sonar.api.platform.ComponentContainer.execute(ComponentContainer.java:77) [sonar-batch-maven-compat-5.1.jar:na]
at org.sonar.batch.scan.ProjectScanContainer.scan(ProjectScanContainer.java:235) [sonar-batch-maven-compat-5.1.jar:na]
at org.sonar.batch.scan.ProjectScanContainer.scanRecursively(ProjectScanContainer.java:230) [sonar-batch-maven-compat-5.1.jar:na]
at org.sonar.batch.scan.ProjectScanContainer.doAfterStart(ProjectScanContainer.java:220) [sonar-batch-maven-compat-5.1.jar:na]
at org.sonar.api.platform.ComponentContainer.startComponents(ComponentContainer.java:92) [sonar-batch-maven-compat-5.1.jar:na]
at org.sonar.api.platform.ComponentContainer.execute(ComponentContainer.java:77) [sonar-batch-maven-compat-5.1.jar:na]
at org.sonar.batch.scan.ScanTask.scan(ScanTask.java:57) [sonar-batch-maven-compat-5.1.jar:na]
at org.sonar.batch.scan.ScanTask.execute(ScanTask.java:45) [sonar-batch-maven-compat-5.1.jar:na]
at org.sonar.batch.bootstrap.TaskContainer.doAfterStart(TaskContainer.java:135) [sonar-batch-maven-compat-5.1.jar:na]
at org.sonar.api.platform.ComponentContainer.startComponents(ComponentContainer.java:92) [sonar-batch-maven-compat-5.1.jar:na]
at org.sonar.api.platform.ComponentContainer.execute(ComponentContainer.java:77) [sonar-batch-maven-compat-5.1.jar:na]
at org.sonar.batch.bootstrap.GlobalContainer.executeTask(GlobalContainer.java:158) [sonar-batch-maven-compat-5.1.jar:na]
at …
Run Code Online (Sandbox Code Playgroud)

ruby code-analysis ruby-on-rails ruby-on-rails-4 sonarqube

5
推荐指数
2
解决办法
7319
查看次数

如何从LLVM的MemoryDe​​pendenceAnalysis传递中获得更好的结果?

我正在尝试在我正在使用的自定义LLVM传递中使用LLVM内置MemoryDe​​pendenceAnalysis(MDA)的结果.给定一些从内存中读取的指令(load例如,a),我希望MDA告诉我所有先前的指令,这些指令可能有定义或Clobbered它.如果我对MDA文档的理解正确地为我服务,MDA应该能够给我这个信息.但是,我很难从中获得所需的精度.这是我一直在玩的简单测试程序的相关片段:

%1 = alloca i32, align 4
%result = alloca i32, align 4
%x = alloca i32, align 4
%xp = alloca i32*, align 8
store i32 0, i32* %1
store i32 5, i32* %result, align 4, !dbg !14
store i32 7, i32* %x, align 4, !dbg !16
store i32* %x, i32** %xp, align 8, !dbg !19
%2 = load i32* %x, align 4, !dbg !20
%3 = icmp eq i32 %2, 4, !dbg !20
br i1 %3, …
Run Code Online (Sandbox Code Playgroud)

code-analysis static-analysis llvm llvm-ir

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

如何在Coverity Connect分析结果中忽略JAVA测试?

我使用Coverity扫描我的项目是否存在安全问题.

我想知道的是如何从缺陷提交后可用的分析结果中排除任何java测试(注意: 集成和单元).

我确实使用maven来构建项目,我使用标志排除了单元测试-Dmaven.skip.test=true.尽管这使得Coverity不进行扫描单元测试,但它仍然使扫描集成测试.

我项目中的所有集成测试都在文件标题中包含"Test"一词.因此,我开始查看Coverity中提供的过滤器部分.我当时尝试的是一个正则表达式(.*(!?(Test).*)$)但它没有用.似乎覆盖率支持两个匹配的字符(* and ?- 见下图),而它似乎不支持任何负面的环顾.

在此输入图像描述

有没有什么好方法可以轻松,干净的方式完成这项任务?

regex code-analysis connect pattern-matching coverity

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

Microsoft.CodeAnalysis.FxCopAnalyzers和Microsoft.CodeAnalysis之间有什么区别?

我想在我的一个C#项目中安装代码分析,看来人们向.NET Core项目添加代码分析的方式是使用NuGet包Microsoft.CodeAnalysis.FxCopAnalyzers。

不过,我也发现了其他的NuGet包从Microsoft.CodeAnalysis命名空间,即Microsoft.CodeAnalysis,Microsoft.CodeAnalysis.CSharp,Microsoft.CodeAnalysis.Features等等。

与其他软件包相比,这些其他软件包的目的是什么FxCopAnalyers?程序包的描述不是很清楚,所以我不知道它们的用例是什么。

c# code-analysis roslyn-code-analysis

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