2008-08-13 11 views
10

Vì một lý do nào đó tôi chưa bao giờ thấy việc này được thực hiện. Có lý do gì không? Ví dụ tôi thích _blah cho các biến riêng, và ít nhất trong các điều khiển Windows Forms là các biến thành viên riêng tư mặc định, nhưng tôi không thể nhớ từng thấy chúng được đặt tên theo cách đó. Trong trường hợp tôi tạo/lưu trữ các đối tượng điều khiển trong các biến cục bộ bên trong một hàm thành viên, nó đặc biệt hữu ích khi có một số khác biệt trực quan.Bạn có đặt tên các điều khiển trên biểu mẫu bằng cách sử dụng cùng quy ước như một biến riêng tư không?

Trả lời

13

Điều này có thể phản trực giác đối với một số người, nhưng chúng tôi sử dụng ký hiệu Hungary đáng sợ cho các phần tử giao diện người dùng.

Logic đơn giản: đối với bất kỳ đối tượng dữ liệu cụ thể nào, bạn có thể có hai hoặc nhiều điều khiển được liên kết với nó. Ví dụ, bạn có một điều khiển mà chỉ một ngày tháng năm sinh trên một hộp văn bản, bạn sẽ có:

  • văn bản hộp
  • một nhãn chỉ ra rằng các hộp văn bản là cho những ngày sinh
  • một điều khiển lịch sẽ cho phép bạn chọn ngày

Cho điều đó, tôi sẽ có lblBirthDate cho nhãn, txtBirthDate cho hộp văn bản và calBirthDate để kiểm soát lịch.

Tôi muốn nghe cách người khác thực hiện việc này. :)

0

Tôi không, nhưng tôi đánh giá cao logic của bạn. Tôi đoán lý do hầu hết mọi người không phải là dấu gạch dưới sẽ trông xấu xí trong cửa sổ Properties tại thời điểm thiết kế. Nó cũng sẽ mất thêm một ký tự của không gian nằm ngang, mà là ở một phí bảo hiểm trong một cửa sổ docked như thế.

4

Ký pháp tiếng Hungari hay không, tôi tò mò hơn nếu mọi người thêm m_ hoặc _ hoặc bất kỳ thứ gì họ sử dụng cho biến thành viên riêng tư chuẩn.

0

ký hiệu Hungarian hay không, tôi là hơn tò mò nếu mọi người thêm vào trước m_ hoặc _ hoặc bất cứ điều gì họ sử dụng cho biến thành viên private chuẩn.

Luke,

tôi sử dụng _ tiền tố cho các đối tượng thư viện lớp học của tôi. Tôi sử dụng ký hiệu Hungary dành riêng cho giao diện người dùng, vì lý do tôi đã nêu.

-3

Tôi sử dụng m_ cho các biến thành viên, nhưng tôi ngày càng trở nên bị cám dỗ khi chỉ sử dụng lowerCamelCase như tôi làm cho các tham số phương thức và biến cục bộ. Công cụ công khai nằm trong UpperCamelCase.

Điều này dường như được chấp nhận nhiều hoặc ít hơn trên toàn bộ cộng đồng .NET.

1

tôi tiền tố cá nhân đối tượng riêng với _

Form controls luôn bắt đầu bằng các loại, chỉ Lý do tôi làm điều này là vì IntelliSense. Với các biểu mẫu lớn, việc "nhận giá trị nhãn" trở nên dễ dàng hơn bằng cách chỉ cần nhập lbl và chọn từ danh sách^_^Nó cũng theo sau logic stated by Jon Limjap.

Mặc dù điều này không thực hiện lại Hướng dẫn mã hóa của Microsofts .NET, hãy xem chúng here.

1

Đối với tôi, chiến thắng lớn với quy ước đặt tên của việc thêm một dấu gạch dưới cho các thành viên riêng tư phải làm với Intellisense. Vì dấu gạch dưới đứng trước bất kỳ chữ nào trong bảng chữ cái, khi tôi thực hiện một dấu cách-ctrl để hiển thị Intellisense, có tất cả các _privateMembers của tôi, ngay trên đầu.

Điều khiển, tuy nhiên, là một câu chuyện khác, theo như đặt tên. Tôi nghĩ rằng phạm vi được giả định, và việc chuẩn bị trước một vài chữ cái để chỉ ra kiểu (txtMyGroovyTextbox, ví dụ) có ý nghĩa hơn cho cùng một lý do; điều khiển được nhóm theo Intellisense theo loại.

Nhưng tại nơi làm việc, đó là VB tất cả các cách, và chúng tôi làm mPrivateMember. Tôi nghĩ rằng m có thể đứng cho mô-đun.

0

Tôi không bao giờ sử dụng dấu gạch dưới trong tên biến của mình. Tôi đã tìm thấy rằng bất cứ điều gì ngoài các ký tự alpha (đôi khi chữ và số) quá nhiều trừ khi được yêu cầu bởi ngôn ngữ.

0

Tôi đang ở trong lồng hoa/chữ thường ("tiêu đề" là riêng tư, "Tiêu đề" là công khai), được trộn với ký hiệu "hungarian" cho Thành phần giao diện người dùng (tbTextbox, lblLabel, v.v.) và tôi rất vui vì chúng tôi không có nhà phát triển Visual Case-Insensitive-Basic trong nhóm :-)

Tôi không thích dấu gạch dưới vì nó trông xấu xí, nhưng tôi phải thừa nhận nó có lợi thế (hoặc bất lợi, tùy thuộc vào điểm của bạn): Trong trình gỡ lỗi, tất cả các Biến riêng tư sẽ ở trên cùng do _ nằm trên đầu bảng chữ cái. Nhưng sau đó một lần nữa, tôi thích cặp tư nhân/công cộng của tôi ở bên nhau hơn, vì điều đó cho phép gỡ lỗi dễ dàng hơn với logic getter/setter khi bạn thấy thuộc tính riêng và công cộng bên cạnh nhau,

1

Tôi đã thông qua VB và đã tổ chức vào tiền tố loại điều khiển cho các điều khiển. Các thành viên riêng của tôi sử dụng trường hợp lạc đà thấp hơn (firstLetterLowercase) trong khi các thành viên công khai sử dụng trường hợp Pascal/upper-lạc đà (FirstLetterUppercase).

Nếu có quá nhiều số nhận dạng/thành viên/người dân địa phương để có 90% cơ hội nhớ/đoán nó được gọi là gì, có thể cần phải trừu tượng hơn.

Tôi chưa bao giờ bị thuyết phục rằng tiền tố loại bộ nhớ hữu ích và/hoặc cần thiết. Tuy nhiên, tôi thực hiện thói quen mạnh mẽ theo phong cách của bất kỳ mã nào tôi đang sử dụng.

0

Tôi viết tên của cột cơ sở dữ liệu mà chúng đại diện.

Các vấn đề liên quan