L'annotazione dei metodi del ciclo di vita di Unity con l' UsedImplicitly
attributo migliora la leggibilità del codice?
Per esempio:
public class Example : MonoBehaviour
{
[UsedImplicitly]
private void Awake()
{
DoSomething();
}
private void DoSomething()
{
// ...
}
}
Questo post sul blog "Structuring Your Unity MonoBehaviours" suggerisce questo approccio come una convenzione utile.
- Annota tutti i metodi del ciclo di vita di Unity (Start, Awake, Update, OnDestroy ecc.), I metodi di evento e altre funzioni che sono implicitamente (o automaticamente) invocate nel tuo codice con l'attributo [UsedImplicitly]. Questo attributo, sebbene incluso in UnityEngine.dll, viene utilizzato da ReSharper per disabilitare i suggerimenti di pulizia del codice per metodi apparentemente senza riferimenti. Aiuta anche a rendere il codice più facile da leggere per le persone che sono più recenti su Unity e sul tuo codebase, in particolare per gli eventi a cui si fa riferimento tramite l'ispettore.
(Nota: non credo che ReSharper mostri suggerimenti per la pulizia del codice per metodi del ciclo di vita di Unity apparentemente senza riferimenti, quindi potrebbero essere consigli obsoleti.)
Sono d'accordo con il post sopra che potrebbe essere utile per i più recenti su Unity. Ritengo inoltre che potrebbe essere utile per etichettare le funzioni del ciclo di vita Unity che non vengono utilizzati frequentemente come Awake
, Start
e Update
. Ma mi chiedo se questa sia effettivamente una buona convenzione per "codice pulito", o se è solo il rumore che riduce la leggibilità.