Việc chú thích các phương thức vòng đời Unity với UsedImplicitly
thuộc tính có cải thiện khả năng đọc mã của bạn không?
Ví dụ:
public class Example : MonoBehaviour
{
[UsedImplicitly]
private void Awake()
{
DoSomething();
}
private void DoSomething()
{
// ...
}
}
Bài đăng trên blog này về "Cấu trúc sự thống nhất của bạn MonoBehaviours" gợi ý cách tiếp cận này như một quy ước hữu ích.
- Chú thích bất kỳ phương thức vòng đời Unity nào (Bắt đầu, Thức tỉnh, Cập nhật, OnDestroy, v.v.), phương thức sự kiện và các hàm khác được ngầm định (hoặc tự động) được gọi trong mã của bạn với thuộc tính [Được sử dụng rõ ràng]. Thuộc tính này, mặc dù được bao gồm trong UnityEngine.dll, được ReSharper sử dụng để vô hiệu hóa các đề xuất dọn mã cho các phương thức dường như không được ước tính. Nó cũng giúp làm cho mã dễ đọc hơn đối với những người mới sử dụng Unity và cơ sở mã của bạn, đặc biệt đối với các sự kiện được tham chiếu qua thanh tra.
(Lưu ý: Tôi không nghĩ ReSharper hiển thị các đề xuất dọn mã cho các phương thức vòng đời Unity dường như không được kiểm soát, do đó có thể là lời khuyên lỗi thời.)
Tôi đồng ý với bài viết trên rằng nó có thể hữu ích cho những người mới hơn với Unity. Tôi cũng nghĩ rằng nó có thể hữu ích để dán nhãn những chức năng vòng đời Unity không được sử dụng thường xuyên như Awake
, Start
, và Update
. Nhưng tôi tự hỏi liệu đây có thực sự là một quy ước tốt cho "mã sạch" hay không, nếu đó chỉ là tiếng ồn làm giảm khả năng đọc.