标签: code-analysis

有哪些工具可用于可视化类内依赖项(例如 PHP)?

我正在寻找一种易于使用的工具,它可以将类的“内部工作”可视化,例如用 PHP 编写。我想看到的是不同的类方法,以及它们之间的关系(方法 A 调用方法 B 等)。有没有这样的工具来创建这样的图表?在进一步的步骤中,也许有一个工具也可以将类的“内部工作”(以逆向工程的方式)可视化,即工作流的真实情况,即所有if-else决策等,在什么情况下调用什么方法?

如果有人可以向我推荐这样的工具(最好是 PHP 和 Python),我将不胜感激。

php python code-analysis

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

序列化集合并遵守代码分析

在现有项目上运行代码分析时,我遇到了消息不要公开通用列表和集合属性应该是只读的。但是,此类用于从/向 xml 配置文件读取/写入。是否可以让这个类符合CA1002和CA2227或者我是否必须禁止这些与 XML 相关的类的规则(项目中有很多)?

编辑

更改List<string>为已Collection<string>解决的 CA1002。仍然不知道如何解决 CA2227 并且仍然能够(反)序列化整个事情。

using System;
using System.Collections.Generic;
using System.Collections.ObjectModel;
using System.Xml.Serialization;

/// <summary>
/// Class containing the Configuration Storage
/// </summary>
[XmlRoot("Configuration")]
public class ConfigurationStorage
{
    /// <summary>
    /// Gets or sets the list of executers.
    /// </summary>
    [XmlArray("Executers")]
    [XmlArrayItem("Executer")]
    public Collection<string> Executers { get; set; }

    /// <summary>
    /// Gets or sets the list of IPG prefixes.
    /// </summary>
    [XmlArray("IpgPrefixes")] …
Run Code Online (Sandbox Code Playgroud)

c# code-analysis xml-serialization .net-4.5

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

CA1819:属性不应返回数组。此规则是否也适用于其他对象?

关于CA1819 msdn性能警告规则:

属性返回的数组不受写保护,即使该属性是只读的。为了保持数组防篡改,该属性必须返回数组的副本。通常,用户不会理解调用此类属性对性能的不利影响。具体来说,他们可能会将该属性用作索引属性。

我想知道其他对象在由属性返回时是否可变,或者这是否只发生在数组中?如果它只对数组有效,为什么?

c# arrays msdn code-analysis visual-studio-2012

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

下面的代码分析是什么意思?

我在我的代码(AggregateFunctions)中只有一个地方实例化了一个对象,如下所示。

    private String selectColumns() {
        String query = "SELECT ";

        if (this.distinctResults) {
            query = query + "DISTINCT ";
        }

        SelectColumn selectColumn = new SelectColumn(this);

        if (!this.applyAggregation) {
            for (Object object : this.columns) {
                query = selectColumn.selectColumn(query, object);
            }
        } else {
            AggregateFunctions aggregateFunctions = new AggregateFunctions(this);
            query = query + aggregateFunctions.select();
        }
        //Remove extra ', '
        query = query.substring(0, query.length() - 2) + " FROM ";
        return query;
    }
Run Code Online (Sandbox Code Playgroud)

构造器:

    public AggregateFunctions(@NotNull SqlQueryGenerator sqlQueryGenerator) {
        this.spaceEncloser = sqlQueryGenerator.getSpaceEncloser();
        this.selectColumn …
Run Code Online (Sandbox Code Playgroud)

java code-analysis intellij-idea

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

代码分析规则集的层次结构?

我有一个解决方案,其中包含两个具有关联类库的 MVC 5 Web 应用程序,并且代码分析设置导致构建挂起。如果我在此期间尝试与 UI 交互,则会出现“VS 正忙”气泡。让构建在一夜之间完成也不起作用。

为了解决这个问题,我关闭了所有项目的代码分析,项目构建得很好 [0]。因此,我在其中一个 MVC 项目上启用了“Microsoft All Rules”,但构建过程未完成。

“Microsoft 管理的最低规则”已构建,但我现在想要的是有某种结构化的方式来浏览规则集,我尝试的下一个规则是上一个成功规则的超集。这样的层次结构是否存在,如果存在,是否有规范的参考?

一旦达到那个级别,我就可以开始隔离各个规则,也许是通过增加构建输出的详细程度...

[0]
该声明不应被解释为“没有代码分析的构建是完全可以的”

.net c# asp.net-mvc code-analysis

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

使代码分析器忽略 AssemblyInfo.cs

我们已经添加#pragma warning disable到我们所有AssemblyInfo.cs文件的顶部。但是,Visual Studio 2015 Professional 中的内置代码分析会继续分析该文件。我们可以添加什么来防止这种情况发生?

c# code-analysis visual-studio roslyn-code-analysis

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

如何在命名空间级别使用 [UsedImplicitly] 属性?

ReSharper 有一个 [UsedImplicitly] 属性,该属性会忽略未直接引用的属性。JetBrains 推荐使用:https : //www.jetbrains.com/help/resharper/2016.1/MemberCanBePrivate.Global.html

有没有办法在命名空间级别应用此属性?或者是否有另一种方法可以忽略给定命名空间(可能还有所有子命名空间)中的所有类?

resharper code-analysis

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

SonarQube 可以用作静态应用程序安全测试 (SAST) 工具吗?

我正在寻找静态应用程序安全测试 (SAST) 工具,但我买不起商业产品(例如 Checkmarx)。

SonarQube 是一个很棒的静态代码分析工具,但我注意到只有少数“漏洞”类型的规则(“漏洞”等于“安全”,对吗?)。

我计划扩展一些自定义插件,包括很多漏洞规则(对于 C/C++、Java 和 SonarQube 支持的其他语言可能有数百条规则)。

这是使 SonarQube 成为“类似 Checkmarx”的工具的可行方法吗?还是 SonarQube 适合静态安全测试?(我不确定 Sonar Scanner 是否适合扫描安全问题)

非常感谢!

code-analysis static-analysis security-testing sonarqube sonarqube-scan

5
推荐指数
3
解决办法
9573
查看次数

Visual Studio 2017 中 F# 的代码分析

在 Visual Studio 2015 中,可以安装 F# Power Tools 以进行 F# 代码分析,如此相关问题中所述。我一直无法在 Visual Studio 2017 中找到用于 F# 的代码分析工具(即使只是行数)。是否有可用的包,此外,是否知道 Visual Studio 2019 是否会对 F# 进行代码分析?

f# code-analysis visual-studio

5
推荐指数
0
解决办法
115
查看次数

flake8 是否需要安装我的 Python 项目的依赖项?

Flake8 是纯静态代码分析器还是应该pip install -r requirements.txt先运行?

或者,是否有任何用例 Flake8 可以使用已安装的依赖项?

python code-analysis requirements.txt flake8

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