标签: code-analysis

PHP_CodeSniffer,PHPMD或PHP Depend

我正在考虑对现有的PHP项目进行一些静态代码分析,而我无法理解PHP_CodeSniffer,PHPMD和PHP Depend之间的区别.这些只是这些问题的替代方案,还是它们在某些方面相互补充?为什么开发人员可以选择其中一个?

php code-analysis static-analysis

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

您使用什么工具进行静态代码分析?

关于Cyclomatic Complexity的这个问题使我更多地考虑静态代码分析.分析代码复杂性和一致性偶尔会有用,我想开始做更多.您推荐哪些工具(按语言)进行此类分析? 维基百科有很多工具,但以前有人试过哪些工具?

编辑:正如David所指出的,当涉及到基于C/UNIX的工具时,这不是一个完全没有问题的问题.

code-analysis

31
推荐指数
4
解决办法
2万
查看次数

CA1001在异步方法上实现IDisposable

考虑以下代码:

public class Test
{
    public async Task Do()
    {
        await Task.Delay(200);

        using (var disposable = new Disposable())
        {
            disposable.Do();
        }
    }
}

public class Disposable : IDisposable
{
    public void Do()
    {
    }

    public void Dispose()
    {
    }
}
Run Code Online (Sandbox Code Playgroud)

当我在Visual Studio中运行代码分析时,我收到一个警告:

警告CA1001在测试时实现IDisposable.<Do> d__0因为它创建了以下IDisposable类型的成员:'Disposable'.

为什么我收到此消息?一次性类正确处理,我不会将它存储在任何地方.

此外,这似乎适用于分析仪:

public class Test
{
    public void Do()
    {
        using (var disposable = new Disposable())
        {
            disposable.Do();
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

.net c# code-analysis visual-studio async-await

31
推荐指数
2
解决办法
1607
查看次数

C#调用图生成工具

我刚收到一大堆(大多数是未记录的)C#代码,我想在潜入并开始重构之前想象它的结构.我在过去(使用其他语言)使用生成调用图的工具完成了这项工作.

你能推荐一个好的工具来促进C#中的结构发现吗?

UPDATE

除了这里提到的工具,我已经看到(通过电子管)人们说.NET ReflectorCLR Profiler具有此功能.有这些经验吗?

.net c# code-analysis call-graph

30
推荐指数
6
解决办法
2万
查看次数

用于生成Haskell函数依赖(控制流)图的工具?

注意不是"功能依赖".是否有可用的工具允许我从源代码构建静态函数依赖图?向我指示哪些功能以图形方式依赖于哪些功能的东西.

haskell code-analysis static-analysis

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

如何使用IntelliJ IDEA禁用Git支持的项目的预提交代码分析

我在IntelliJ IDEA中有一个项目,我使用Git/GitHub作为源代码控制.每次我尝试提交更改时,IntelliJ IDEA都会运行冗长的代码分析并搜索TODO.当它发现"问题"时,它会提示我是否要查看或提交.

我不希望运行预提交代码分析,我不希望IntelliJ IDEA向我询问结果.我似乎无法在常规IntelliJ IDEA项目/ IDE设置中找到任何设置来禁用此功能.我怎么能禁用它?

git code-analysis commit github intellij-idea

29
推荐指数
4
解决办法
7860
查看次数

SVN分析工具

我一直在网上搜索,找到一些可以远程使用的东西.我尝试了各种基于HTML的工具来分析SVN存储库(用户提交,报告等),但没有一个是用户友好的.

我对桌面客户端(不依赖于我的系统上安装的外部svn.exe)感兴趣.分析存储库并创建报告.

有谁知道这样的节目?

svn code-analysis

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

PMD规则背后的"为什么"

是否有一个很好的资源来描述PMD规则集背后的"原因"?PMD的网站有"什么" - 每个规则的作用 - 但它没有描述为什么PMD有这个规则以及为什么忽略该规则会让你在现实世界中遇到麻烦.特别是,我有兴趣知道为什么PMD有AvoidInstantiatingObjectsInLoops和OnlyOneReturn规则(如果你需要创建一个对应于集合中每个对象的新对象,第一个似乎是必要的,第二个似乎在许多情况下是必要的根据某些标准返回一个值),但我真正想要的是一个描述大多数PMD规则背后"原因"的链接,因为这经常出现.

为了清楚起见,我知道我可以禁用它们以及如何做到这一点,我只是想知道为什么它们首先在那里.对不起,如果有一些明显的东西我错过了,但我在发布之前进行了谷歌搜索和搜索.我也明白,这些问题往往是"品味"的问题 - 我正在寻找的是规则的论点是什么以及有什么替代品.举一个具体的例子,你应该如何实现一个对应于循环中每个对象的对象(这是Java中的常见操作)而不在循环中实例化每个对象?

java code-analysis pmd

28
推荐指数
2
解决办法
8402
查看次数

在.NET核心项目上启用Microsoft的代码分析

我们的团队使用自定义规则集的代码分析功能,如果我们忘记对方法参数执行null检查,则会导致构建失败.

但是,现在我们创建一个新的.NET Core项目时,它看起来并不像Code Analysis这些新项目的功能."项目属性"区域中没有用户界面,并且按照此处的建议向项目添加自定义规则集只会影响StyleCop Analyzers(SAxxxx规则).

有没有办法CAxxxx在.NET Core项目中启用Code Analysis()规则?

c# code-analysis roslyn-code-analysis

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

如何仅在一个项目中禁用警告?

我的解决方案中有一个遗留项目没有评论和许多警告.我希望不会看到有关此特定项目的警告,但我希望在同一解决方案中看到其他项目的警告.

可能吗?

编辑:我的意思是具体项目的"所有警告".

c# code-analysis visual-studio-2010

27
推荐指数
2
解决办法
8912
查看次数