UsedImplicitly
属性を使用してUnityライフサイクルメソッドに注釈を付けると、コードが読みやすくなりますか?
例えば:
public class Example : MonoBehaviour
{
[UsedImplicitly]
private void Awake()
{
DoSomething();
}
private void DoSomething()
{
// ...
}
}
「Unity MonoBehavioursの構造化」に関するこのブログ投稿は、このアプローチを有用な慣例として示唆しています。
- Unityライフサイクルメソッド(Start、Awake、Update、OnDestroyなど)、イベントメソッド、および[UsedImplicitly]属性を使用してコード内で暗黙的(または自動的)に呼び出されるその他の関数に注釈を付けます。この属性はUnityEngine.dllに含まれていますが、参照されていないように見えるメソッドのコードクリーンアップの提案を無効にするためにReSharperによって使用されます。また、Unityやコードベースの初心者がコードを読みやすくするのにも役立ちます。特に、インスペクターを介して参照されるイベントの場合に役立ちます。
(注:ReSharperが一見参照されていないように見えるUnityライフサイクルメソッドのコードクリーンアップの提案を示しているとは思わないので、古くなったアドバイスかもしれません。)
Unityの初心者には役立つかもしれないという上記の投稿に同意します。私はまた、これらのラベル付けすることが有用であると思うユニティライフサイクル機能頻繁にとして使用されていないAwake
、Start
とUpdate
。しかし、これが実際に「クリーンなコード」のための良い慣習なのか、それとも読みやすさを低下させるのは単なるノイズなのかと思います。