为什么一旦警告级别处于第二级或更高级别,这个小代码示例就会得到以下警告? public int Foo(int a) { if (a >= 0) throw new ArgumentException("a should be negative", "a"); Contract.EndContractBlock(); return a; } CodeContracts:build议的要求:这个先决条件是多余的:考虑删除它。 你比较一个结构值为null? 显然,整数可以是负数,所以前提条件很难多余,那么为什么我会得到这个警告呢? 编辑:这是什么ILSpy显示创build的function在看exe时: public int Foo(int a) { if (a >= 0) { ContractHelper.RaiseContractFailedEvent(ContractFailureKind.Precondition, null, "a < 0", null); throw new ArgumentException("a should be negative", "a"); } return a; }
有没有一个分析.NET代码和发现竞争条件的工具? 我有一些代码有一个公共静态属性获取或创build一个私人静态字段。 它也有一个公共的静态方法,将该字段设置为null(…是的,我知道!) 由于这两种方法都没有锁,所以可以肯定的是,将来事情会变得非常糟糕。 我需要一个工具recursion地通过调用这些方法之一的东西,看看是否有任何东西在另一个线程上产生。 我正在寻找一个工具或者nDepend SQL脚本(如果这是可能的话)。
我写的大部分代码都是在Ruby中,每隔一段时间,我都会犯一些错误,而这些错误只会在一段时间后才会被捕获。 当我的脚本运行长时间的任务时,这是令人烦恼的,并返回find我有一个错字。 是否有一个积极开发的rubylint工具,可以帮助我克服这一点? 是否有可能通过一个与许多源文件一起工作的系统来使用它,其中一些是dynamic加载的? 以这个片段为例: a = 20 b = 30 puts c 为了赢得赏金,给我看一个将检测cvariables为未创build/未定义的工具。
我想看看我的代码中的所有地方(C ++)忽略函数的返回值。 我该怎么做 – 用gcc或静态代码分析工具? 错误代码示例: int f(int z) { return z + (z*2) + z/3 + z*z + 23; } int main() { int i = 7; f(i); ///// <<—– here I disregard the return value return 1; } 请注意: 即使该function及其用途在不同的文件中也应该起作用 免费的静态检查工具
是否有任何shell(特别是bash或ksh)检查器testing风格,最佳实践,命名约定等shell脚本? (像Lint for C,或Perl :: Critic for Perl。) 我知道ksh你可以通过运行ksh -n script.ksh来进行语法检查,但是我希望得到的不仅仅是sytax检查 – parsing/分析实际代码的东西? 我可能运气不好,但我想这不会问。
有什么工具可以执行Scala代码的静态分析,类似于FindBugs和PMD for Java或Splint for C / C ++? 我知道FindBugs在编译Java时产生的字节码上工作,所以我很好奇它是如何在Scala上工作的。 谷歌search(截至2009年10月27日)显示非常less。 谷歌search(截至2010年2月1日)揭示了这个问题。
对Java世界的模糊熟悉,我正在寻找一个静态分析工具,它也足够聪明,可以解决它发现的问题。 我在CodePro工具上运行,但又是新来的Java社区,不知道供应商。 你可以根据上述标准推荐什么工具?
静态分析有很多选项,这是一个热门话题,所以: 什么是静态分析? 什么时候应该使用它,什么时候不应该使用它? 什么是静态分析正确和不适当的使用/应用的潜在问题? 任何语言都没有一个好的静态分析工具,当你没有自动分析的选项时,你会做什么? -亚当
我在Scala中看到了一个关于静态分析的StackOverflow问题,但是那个在2009年得到了答案。如您所知,Scala工具变化非常迅速。 因此,我想知道是否有人熟悉Scala中静态分析工具的当前状态可以告诉我是否有一个与Scala相当的Findbugs。 我发现Findbugs为Scala发布了许多不必要的警告,可能是由于特性等原因,“对象”单例编译为字节码的方式。我听说Scalastyle不仅是Java的CheckStyle的Scala版本,它也包括Findbugs和PMD。 但是,如果它没有实现所有Findbugs和/或PMD,那么是否还有其他工具可以补充它? 或者,Scalastyle不仅适用于样式检查,还可以改善代码质量? 另外,斯卡拉与Sonar的整合呢? Scala声纳插件(与Scalastyle一起使用)是否可靠?
你将如何去C / C ++代码中的死代码检测? 我有一个相当大的代码基地工作,至less10-15%是死代码。 有没有任何基于Unix的工具来识别这个领域? 有些代码还使用了很多预处理器,可以自动进行处理吗?