Помогает ли аннотирование методов жизненного цикла Unity с помощью UsedImplicitly
атрибута улучшить читабельность вашего кода?
Например:
public class Example : MonoBehaviour
{
[UsedImplicitly]
private void Awake()
{
DoSomething();
}
private void DoSomething()
{
// ...
}
}
Этот пост в блоге "Структурирование вашего единства MonoBehaviours" предлагает этот подход в качестве полезного соглашения.
- Аннотируйте все методы жизненного цикла Unity (Start, Awake, Update, OnDestroy и т. Д.), Методы событий и другие функции, которые неявно (или автоматически) вызываются в вашем коде с атрибутом [UsedImplicitly]. Этот атрибут, хотя и включен в UnityEngine.dll, используется ReSharper для отключения предложений по очистке кода для методов, которые, по-видимому, не ссылаются. Это также помогает упростить чтение кода для людей, которые являются новичками в Unity и вашей кодовой базе, особенно для событий, на которые ссылается инспектор.
(Примечание: я не думаю, что ReSharper предлагает рекомендации по очистке кода для, казалось бы, не связанных методов жизненного цикла Unity, так что это может быть устаревшим советом.)
Я согласен с приведенным выше постом, что он может быть полезен для новичков в Unity. Я также думаю, что было бы полезно пометить те функции жизненного цикла Unity , которые используются не так часто, какAwake
, Start
и Update
. Но мне интересно, действительно ли это хорошее соглашение для «чистого кода» или это просто шум, который снижает читабельность.