使用UsedImplicitly
属性注释Unity生命周期方法是否可以提高代码的可读性?
例如:
public class Example : MonoBehaviour
{
[UsedImplicitly]
private void Awake()
{
DoSomething();
}
private void DoSomething()
{
// ...
}
}
这篇关于“构建Unity MonoBehaviours”的博客文章建议将此方法作为有用的约定。
- 使用[UsedImplicitly]属性注释代码中隐式(或自动)调用的所有Unity生命周期方法(开始,唤醒,更新,OnDestroy等),事件方法和其他函数。尽管此属性包含在UnityEngine.dll中,但ReSharper使用它来为似乎未引用的方法禁用代码清除建议。它还有助于使刚接触Unity和您的代码库的人更容易阅读代码,尤其是对于通过检查器引用的事件。
(注意:我不认为ReSharper会为看似未引用的Unity生命周期方法显示代码清理建议,因此这可能已过时。)
我同意上面的帖子,这对于那些对Unity较新的人可能会有帮助。我还认为这可能是标记那些有用的统一生命周期的功能不被使用的频繁程度Awake
,Start
以及Update
。但是我想知道这是否真的是“干净代码”的良好约定,还是仅仅是噪音降低了可读性。