gpt4 book ai didi

c# - 在 Sonar 的代码分析过程中是否可以抑制个别违反规则的行为?

转载 作者:太空宇宙 更新时间:2023-11-03 23:29:45 26 4
gpt4 key购买 nike

Sonar 中的 C# 插件会标记圈复杂度大于 10 的方法(CSharpsquid:S1541 - 方法不应太复杂)。这对于“真实”代码非常有用,但当一个方法只包含一个简单的“switch”语句和 5 个案例(用于将一种枚举类型转换为另一种枚举类型)被标记为过于复杂时,我的团队发现这很烦人。

是否可以在代码库中禁止个别方法的标志/规则?如果是,怎么办?

最佳答案

您不能自动执行此操作。

也许您可以使用 IMap 而不是抑制规则。您可以创建可以翻译枚举的简单类:

public class Enum1ToEnum2Translator {

private static IMap<Enum1, Enum2> MAP = new Map<Enum1, Enum2>();

static {
MAP.add(Enum1.VAL1, Enum2.VAL1);
MAP.add(Enum1.VAL2, Enum2.VAL2);
MAP.add(Enum1.VAL3, Enum3.VAL3);
}

public Enum2 translate(Enum1 enum) {
return MAP.get(enum1);
}
}

关于c# - 在 Sonar 的代码分析过程中是否可以抑制个别违反规则的行为?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32735940/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com