L'annotation des méthodes de cycle de vie Unity avec l' UsedImplicitly
attribut améliore-t-elle la lisibilité de votre code?
Par exemple:
public class Example : MonoBehaviour
{
[UsedImplicitly]
private void Awake()
{
DoSomething();
}
private void DoSomething()
{
// ...
}
}
Ce billet de blog sur "Structurer vos comportements uniques" suggère cette approche comme une convention utile.
- Annotez toutes les méthodes de cycle de vie Unity (Start, Awake, Update, OnDestroy etc.), les méthodes d'événement et d'autres fonctions qui sont implicitement (ou automatiquement) invoquées dans votre code avec l'attribut [UsedImplicitly]. Cet attribut, bien qu'il soit inclus dans UnityEngine.dll, est utilisé par ReSharper pour désactiver les suggestions de nettoyage de code pour les méthodes qui ne semblent pas référencées. Cela aide également à rendre le code plus facile à lire pour les personnes qui sont plus récentes à Unity et à votre base de code, en particulier pour les événements référencés via l'inspecteur.
(Remarque: je ne pense pas que ReSharper affiche des suggestions de nettoyage de code pour des méthodes de cycle de vie Unity apparemment non référencées, ce qui pourrait être un conseil obsolète.)
Je suis d'accord avec le post ci-dessus qu'il pourrait être utile pour les nouveaux utilisateurs d'Unity. Je pense aussi qu'il pourrait être utile d'étiqueter les fonctions du cycle de vie Unity qui ne sont pas utilisés aussi fréquemment que Awake
, Start
et Update
. Mais je me demande si c'est en fait une bonne convention pour le "code propre", ou si c'est juste du bruit qui réduit la lisibilité.