gpt4 book ai didi

c# - SonarQube 将它与 Unity 3D 一起使用时会遇到很多问题

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

我正在尝试在我们主要制作 Unity 项目的组织上设置 Sonar。

我们的问题是提供给 C# 语言的规则在 Unity 上下文中并不总是相同。

  1. 在 Unity 中有一个 MonoBehaviour 类,如果您声明一些方法(Awake、Start),它们将被反射调用:

https://docs.unity3d.com/ScriptReference/MonoBehaviour.html

所以在这种情况下,我有很多“删除这个未使用的私有(private)成员”。

有没有办法告诉我,如果我的类派生自 MonoBehaviour(或 AssetPostprocessor 等...)并且我的方法名称是例如“Awake”,则不要应用该规则?我的意思是,有没有办法设置自定义规则并使其他规则无效?

  1. 这同样适用于Unity序列化系统。您可以拥有一个带有 [SerializeField] 属性的私有(private)字段,它会由 Unity 自动初始化:

https://docs.unity3d.com/ScriptReference/SerializeField.html

在这种情况下,如果我的字段具有默认值,我会得到大量的“将“{FIELD}”设置为“只读””,因为它是 Unity,然后由检查员“填充”更新/更改的值,但如果我将其设置为只读在 Unity 的序列化系统中将不起作用。

谢谢。

最佳答案

感谢您报告这些问题。我们尚未使用 SonarQube 测试 Unity 项目,但它在我们的雷达上,因为社区和基于 Unity 的代码库非常庞大。

此时我无法为您的第一个问题(基于约定的反射)建议任何其他解决方法,只能禁用该规则。我创建了一个 JIRA 票证来调查选项:https://jira.sonarsource.com/browse/SLVS-1104

这是只读字段问题的票证。这绝对是可以轻松解决的问题。它将成为下一个版本的一部分:https://jira.sonarsource.com/browse/SLVS-1105

关于c# - SonarQube 将它与 Unity 3D 一起使用时会遇到很多问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41015278/

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