this.This
this.Does
this.Not
this.Add
this.Clarity
this.Nor
this.Does
this.This
this.Add
this.Maintainability
this.To
this.Code
Việc sử dụng "này.", Khi sử dụng quá mức hoặc một yêu cầu phong cách cưỡng bức, không gì khác sau đó một bày ra sử dụng dưới vỏ bọc rằng có < 1% các nhà phát triển rằng thực sự không hiểu mã hoặc những gì họ đang làm, và làm cho nó đau đớn cho 99% người muốn viết mã dễ đọc và dễ bảo trì.
Ngay khi bạn bắt đầu nhập, Intellisence sẽ liệt kê nội dung có sẵn trong phạm vi bạn đang nhập "này". không cần thiết để vạch trần các thành viên của lớp và trừ khi bạn hoàn toàn không biết gì về những gì bạn đang viết mã cho bạn sẽ có thể dễ dàng tìm thấy mục bạn cần.
Thậm chí nếu bạn hoàn toàn không biết gì, hãy sử dụng "cái này". để gợi ý những gì có sẵn, nhưng không để nó trong mã. Ngoài ra còn có một loạt các tiện ích như Resharper giúp mang lại sự rõ ràng cho phạm vi và hiển thị nội dung của các đối tượng hiệu quả hơn. Tốt hơn là học cách sử dụng các công cụ được cung cấp cho bạn sau đó để phát triển một thói quen xấu bị ghét bởi một số lượng lớn các đồng nghiệp của bạn.
Bất kỳ nhà phát triển nào vốn không hiểu phạm vi nội dung tĩnh, cục bộ, lớp hoặc toàn cục không nên dựa vào "gợi ý" để chỉ ra phạm vi. "điều này." là tồi tệ hơn sau đó ký hiệu Hungary như ít nhất là ký hiệu Hungary cung cấp một ý tưởng về loại biến được tham chiếu và phục vụ một số lợi ích. Tôi thà nhìn thấy "_" hoặc "m" được sử dụng để biểu thị các thành viên lớp học sau đó để xem "này". mọi nơi.
Tôi chưa bao giờ gặp sự cố và cũng không gặp sự cố với nhà phát triển đồng loạt liên tục chiến đấu với phạm vi mã hoặc viết mã luôn lỗi vì không sử dụng "điều này". một cách rõ ràng. Đó là một nỗi sợ hãi không chính đáng rằng "điều này". ngăn chặn các lỗi mã trong tương lai và thường là đối số được sử dụng khi không có giá trị.
Các trình phát triển có kinh nghiệm, "điều này". cũng giống như yêu cầu ai đó đặt bánh xe đào tạo lên xe đạp của họ như một người lớn vì đó là những gì họ đầu tiên phải sử dụng để học cách đi xe đạp. Và người lớn có thể rơi khỏi một chiếc xe đạp 1 trong 1000 lần họ nhận được trên nó, nhưng đó là không có lý do để buộc họ phải sử dụng bánh xe đào tạo.
"này". nên bị cấm từ định nghĩa ngôn ngữ cho C#, tiếc là chỉ có một lý do để sử dụng nó, và đó là để giải quyết sự mơ hồ, mà cũng có thể dễ dàng được giải quyết thông qua thực hành mã tốt hơn.
Hãy nhớ rằng StyleCop được định cấu hình cho nhu cầu của bạn và cài đặt mặc định có thể không tối ưu. Không phải tất cả các quy tắc StyleCop đều lành mạnh, và, trên thực tế, tôi nhớ lại rằng có một số điều hoàn toàn mâu thuẫn, và không thể thỏa mãn khi cả hai đều được kích hoạt. Nếu bạn đã có kiểu mã hóa hoạt động cho bạn ở khía cạnh đó (ví dụ: các trường tiền tố có '_' có vẻ là phổ biến), hãy gắn vào nó và thay đổi cài đặt StyleCop cho phù hợp. –
Rất nhiều cuộc thảo luận về vấn đề này tại đây: http://stackoverflow.com/questions/1499446/best-practice-for-c-auto-implemented-property-and-local-variable-that-differ-onl – womp
Như những người khác đã lưu ý, StyleCop cố gắng thực thi nhiều quy tắc vô lý và dường như vô lý. Không phải tất cả đều có nghĩa là để được theo sau và bạn nên cố gắng để cấu hình StyleCop theo các tiêu chuẩn mà bạn thấy thực tế nhất. –