Czy opisywanie metod cyklu życia Unity UsedImplicitly
atrybutem poprawia czytelność kodu?
Na przykład:
public class Example : MonoBehaviour
{
[UsedImplicitly]
private void Awake()
{
DoSomething();
}
private void DoSomething()
{
// ...
}
}
Ten post na blogu „Strukturyzowanie Twojej jedności MonoBehaviours” sugeruje takie podejście jako przydatną konwencję.
- Adnotuj wszelkie metody cyklu życia Unity (Start, Awake, Update, OnDestroy itp.), Metody zdarzeń i inne funkcje, które są domyślnie (lub automatycznie) wywoływane w kodzie za pomocą atrybutu [UsedImplicitly]. Ten atrybut, mimo że jest zawarty w UnityEngine.dll, jest wykorzystywany przez ReSharper do wyłączania sugestii dotyczących czyszczenia kodu dla metod, które są pozornie niepowiązane. Pomaga także ułatwić odczytanie kodu osobom, które są nowsze w Unity i twojej bazie kodu, szczególnie w przypadku zdarzeń, do których odwołuje się inspektor.
(Uwaga: nie sądzę, aby ReSharper wyświetlał sugestie dotyczące czyszczenia kodu dla pozornie niepowiązanych metod cyklu życia Unity, więc mogą to być nieaktualne porady.)
Zgadzam się z powyższym postem, że może być pomocny dla osób nowszych w Unity. Myślę też może być przydatna do oznaczania tych funkcji Unity cyklu życia , które nie są używane tak często, jak Awake
, Start
i Update
. Zastanawiam się jednak, czy tak naprawdę jest to dobra konwencja dla „czystego kodu”, czy tylko szum ogranicza czytelność.