Tôi không thực sự chắc chắn lý do đằng sau quy ước này là gì. Cá nhân, tôi không quan tâm đến việc sử dụng bất kỳ loại tiền tố tên biến nào để biểu thị phạm vi của một biến, cũng như tôi không đặc biệt quan tâm đến việc sử dụng dấu gạch dưới trong việc đặt tên bất kỳ thứ gì. Có gì xấu về việc sử dụng từ khóa "này" và chấp nhận một quy ước của tên lạc đà thấp hơn cho các biến cá thể/thành viên riêng?
public void IncrementFoo()
{
this.foo += 1;
}
Chỉ có thêm 5 ký tự để nhập, nhưng rất rõ ràng. Nếu bạn đã sử dụng quy ước lạc đà thấp hơn cho các biến cá thể riêng của bạn, thì điều này sẽ cho bạn biết ngay rằng bạn đang truy cập một biến cá thể/thành viên riêng và bạn không cần sử dụng bất kỳ loại tiền tố nào để biểu thị nó .
Nguồn
2010-09-29 17:45:43
cũng +1 cho tôi, ý tưởng chính là lọc các biến. – Lazer
Tôi đã làm điều này lâu trước khi intellisense để phân biệt các biến thành viên. Đó là một ngày tiếp theo từ ngày C + + và MS sử dụng m_ cho biến thành viên –
Nếu bạn không thể xác định liệu biến có phải là cục bộ hay không trong vòng vài giây xem xét phương pháp, không thể lập luận rằng phương pháp của bạn có thể quá phức tạp? Đối với Intellisense lọc, là viết mã phù hợp với một tính năng cụ thể của một IDE thực sự là một ý tưởng tốt? –