¿Anotar los métodos del ciclo de vida de Unity con el UsedImplicitly
atributo mejora la legibilidad de su código?
Por ejemplo:
public class Example : MonoBehaviour
{
[UsedImplicitly]
private void Awake()
{
DoSomething();
}
private void DoSomething()
{
// ...
}
}
Esta publicación de blog sobre "Estructurando su unidad de monocomportamientos" sugiere este enfoque como una convención útil.
- Anote cualquier método de ciclo de vida de Unity (Inicio, Despertar, Actualizar, OnDestroy, etc.), métodos de eventos y otras funciones que se invoquen implícita (o automáticamente) en su código con el atributo [UsedImplicitly]. ReSharper utiliza este atributo, aunque está incluido en UnityEngine.dll, para deshabilitar las sugerencias de limpieza de código para métodos que aparentemente no tienen referencia. También ayuda a que el código sea más fácil de leer para las personas que son más nuevas en Unity y su base de código, especialmente para los eventos a los que se hace referencia a través del inspector.
(Nota: no creo que ReSharper muestre sugerencias de limpieza de código para métodos de ciclo de vida de Unity aparentemente sin referencia, por lo que podría ser un consejo desactualizado).
Estoy de acuerdo con la publicación anterior de que podría ser útil para los más nuevos en Unity. También creo que podría ser útil para etiquetar las funciones del ciclo de vida de la unidad de que no se utilizan con tanta frecuencia como Awake
, Start
, y Update
. Pero me pregunto si esta es realmente una buena convención para el "código limpio", o si es solo el ruido lo que reduce la legibilidad.