我正在尝试在我们的组织上设置Sonar,我们主要制作Unity项目。
我们的问题是提供给C#语言的规则在Unity上下文中并不总是相同。
https://docs.unity3d.com/ScriptReference/MonoBehaviour.html
所以在这种情况下,我有很多“删除这个未使用的私人成员”。
有没有办法告诉,如果我的类派生自MonoBehaviour(或AssetPostprocessor等等)并且我的方法名称例如是“Awake”,那么不应用该规则?我的意思是,有没有办法设置自定义规则并使其他规则无效?
https://docs.unity3d.com/ScriptReference/SerializeField.html
在这种情况下,如果我的字段有默认值,我会得到大量的“Make”{FIELD}“”readonly“”因为它是Unity然后“填充”从检查员更新/更改的值但是如果我只读它在Unity的序列化系统中不起作用。
感谢。
答案 0 :(得分:3)
感谢您报告这些问题。我们还没有使用SonarQube对Unity项目进行过测试,但由于社区和基于Unity的代码库非常庞大,因此它已经在我们的雷达上。
此时我无法针对您的第一个问题(基于约定的反射)提出任何其他解决方法,但要禁用该规则。我创建了一张JIRA票证来调查选项:https://jira.sonarsource.com/browse/SLVS-1104
以下是readonly字段问题的票据。这绝对是可以轻松修复的东西。它将成为下一版本的一部分:https://jira.sonarsource.com/browse/SLVS-1105