我最近开始研究一个非常大的C++项目,在完成90%的实现后,确定他们需要在测试期间展示100%的分支覆盖率.该项目托管在一个嵌入式平台(Green Hills Integrity)上.我正在寻找StackOverflow上其他人在类似环境中使用代码覆盖产品的建议和经验.我对这些类型的工具的正面和负面评论感兴趣.
对于静态代码分析工具,有必要了解给定Delphi项目的所有有效源路径,这些路径在项目级别和全局IDE配置中定义.
是否有可以收集此类项目信息的Delphi库?
据我所知,Delphi IDE的注册表设置可以在不同的地方,以支持多种配置.但是对于IDE注册表位置和项目文件的给定组合,应该可以收集源路径.
编辑:另一种解决方案是使用--depends开关.这将导致dcc32.exe写入一个".d"文件,其中包含项目的所有dcu文件名(以及所有依赖项),包括路径名.但是,文件列表包含已编译的单元,因此它不是原始问题的正确解决方案.
有没有人知道分析/导航VB6源代码的工具,比如scitools的工具?
作为Visual Studio 2010(主要是C#4.0)开发标准的一部分,我们启用了代码分析.当我正在审查最近为新项目提交的代码时,我看到了很多
CA2000:Microsoft.Reliability:在方法'XYZ'中,对象'ABC'不沿所有异常路径放置.在对所有引用超出范围之前,调用System.IDisposable.Dispose对象'ABC'.
警告.问题是,我所做的一切似乎都没有消除警告 - 我花了几个小时搜索网络并尽我所能.
首先,让我明确一点,我不是在谈论将一个简单的使用块放入正确处理局部变量 - 这不是问题.在我的情况下,当对象由方法返回或分配给方法中的另一个对象时,会出现这些警告.
这是一个代码示例,其中包含四个此类警告:
public void MainMethod()
{
var object1 = CreateFirstObject(); // Warning here
var object2 = CreateSecondObject(); // Warning here
SomeCollectionProperty.Add(object1);
SomeCollectionProperty.Add(object2);
}
private SomeObject CreateFirstObject()
{
var theObject = new SomeObject() // Warning here
{
FirstProperty = "some value",
// ...
};
return theObject;
}
private SomeOtherObject CreateSecondObject()
{
var theObject = new SomeOtherObject() // Warning here
{
FirstProperty = "a different value",
// ...
};
return theObject;
}
Run Code Online (Sandbox Code Playgroud)
我已经评论了警告发生的地方. …
我最近开始在Visual Studio中的项目中使用代码分析.我创建了一个自定义规则集,用于包含两个Microsoft定义的规则集的所有项目.我一直在努力将FxCop集成到CI构建过程中,以使未通过所有规则的构建失败.对我来说真正奇怪的是我不能使用我的规则集来定义FxCop扫描代码的规则.我如何使Visual Studio的代码分析规则符合FxCop的规则?
我有兴趣为Code Analysis(Visual Studio 2010及更高版本)创建自定义规则,专门针对XAML.
我读过有关创建自定义规则,甚至有关的FxCop + XAML工具包,但后来现在已被存档,并且不支持的FxCop(即代码分析与工程版)的最新版本.我也看过其他工具,比如NDepend,但它似乎也不支持这个.
我要做的自定义规则的示例: 确保XAML中没有元素将Width属性设置为常量.
关于如何执行此操作的任何想法VS 2012/VS 2013(任何与Visual Studio集成的外部工具也是一种选择)?
xaml unit-testing code-analysis visual-studio-2012 visual-studio-2013
我有一个名为的变量allowedZHs.ZH是域特定的缩写.ZHs是它的复数形式.我想继续使用复数形式.我发现它比"正确"形式更具表现力" Zhs".
我试图通过添加代码分析字典来告诉代码分析.这适用于单数形式" ZH",但它不适用于复数形式.
我仍然收到警告CA1704.
我尝试将其添加为一个公认的单词并将其添加为首字母缩略词:
<Dictionary>
<Words>
<Recognized>
<Word>ZHs</Word>
</Recognized>
</Words>
<Acronyms>
<CasingExceptions>
<Acronym>ZHs</Acronym>
</CasingExceptions>
</Acronyms>
</Dictionary>
Run Code Online (Sandbox Code Playgroud)
我有什么想法我做错了吗?
在C#中,我想制作"智能"枚举,有点像Java中那样,其中有更多信息附加到枚举值而不仅仅是底层int.我发生了一个创建类(而不是枚举)的方案,如下面的简单示例所示:
public sealed class C
{
public static readonly C C1 = new C(0, 1);
public static readonly C C2 = new C(2, 3);
private readonly int x;
private readonly int y;
private C(int x, int y)
{
this.x = x;
this.y = y;
}
public int X
{
get
{
return this.x;
}
}
public int Y
{
get
{
return this.y;
}
}
}
Run Code Online (Sandbox Code Playgroud)
但是当我运行Visual Studio的"代码分析器"时,它会向我发出警告C2104,"不要声明只读可变引用类型".
我明白为什么你一般不想声明只读可变引用类型,但是...我的类不可变,是吗?
阅读警告的文档,似乎他们只是假设任何只读引用类型是可变的.例如,它表示如果类型确实是不可变的,那么请随意抑制此警告.事实上它给了我同样的警告,以下更简单的类:
public sealed class C
{
public static readonly C C1 …Run Code Online (Sandbox Code Playgroud) 在Python中是否存在用于副作用/纯度分析的现有工具,类似于Java中的http://jppa.sourceforge.net?
我正在开发一个要Windows使用的项目.NET Core 2.2。我将在Linux明年构建和支持它。我正在寻找一种方法来标记错误并破坏构建(如果PlatformNotSupportedException在代码中使用的话)。
我见过.NET API分析器,该分析器仍处于预发布阶段,并且自去年以来未更新。
code-analysis ×10
c# ×4
.net ×3
.net-core ×1
delphi ×1
delphi-2009 ×1
embedded ×1
fxcop ×1
idisposable ×1
immutability ×1
mutability ×1
path ×1
python ×1
side-effects ×1
teamcity ×1
testing ×1
unit-testing ×1
vb6 ×1
xaml ×1