C # и Windows Forms контролируют правила именования - PullRequest
1 голос
/ 09 ноября 2010

Есть ли у кого-нибудь какие-либо руководящие принципы / передовые практики для соглашений об именовании форм и элементов управления (например, событий, кнопок)?

Ответы [ 6 ]

6 голосов
/ 09 ноября 2010

Я обычно использую Системы Венгерская запись Пример:

btnSubmit: это кнопка

lblAccountNum: переменная является меткой

5 голосов
/ 09 ноября 2010

В WinForms я обычно использую суффиксы, например:

submitButton
accountNumberLabel

и т. Д.

Но многие компании все еще используют префикс, как сказал Антарес.

4 голосов
/ 09 ноября 2010

Я не верю, что для разработки форм нужны какие-то особые правила; в Microsoft .NET приведены правила именования .

Я называю формы, как и любой другой класс в приложении: MainForm, SaveDialog и т. Д.

Я называюконтролирует, как любое другое поле в классе: okButton, nameTextBox и т. д.

1 голос
/ 02 января 2012

Причина, по которой префиксы не являются полными именами классов в большинстве компаний, но некоторые сокращения имени класса заключаются в следующем:

  1. Большинство соглашений об именах утверждены до Visual Studio 2010.
  2. Все версии Visual Studio до 2010 г. имеют свой интеллигентный фильтр с чем-то вроде «начинается с», а не содержит.

Вот почему многие люди/ architects / leader решили, что будет лучше ввести «txt», и inteli sense отфильтрует все текстовые поля для вас, так что вы просто наберете «E», например, и получите txtEmail.Если у вас есть полное имя класса, вам нужно будет ввести «textBoxE», чтобы получить тот же результат в полном смысле.Это добавляет много перегрева, когда у вас сложный пользовательский интерфейс.

Теперь с Visual Studio 2010 вы получаете лучший смысл, поэтому вы можете просто набрать "em" и легко увидеть "textBoxEmail "в списке (наряду с электронной почтой и некоторыми другими вещами, которые содержат" em ").Тем не менее, мне кажется, я предпочитаю иметь 2-3 или более 4 аббревиатуры из букв, которые позволят мне фильтровать в целом смысле по типу элемента управления (особенно для пользовательского интерфейса), чем вводить textBox.Я предпочитаю это потому, что даже если какое-то время вы озадачены каким-то типом элемента управления (например, «rg» для RadGrid), вам потребуется 5 минут 3-4 раза, чтобы запомнить его и начать печатать, не думая об этом.В то время как если у вас есть radGrid везде, вам нужно будет нажать 7 ударов, чтобы перейти к значимому, который будет фильтровать для вас (например, «radGridC» в «radGridCustomers»).

Я согласен, что обычно достаточно только именования элементов управления, на которые есть ссылки в коде.

1 голос
/ 09 ноября 2010

Обычно я ставлю префикс полного имени класса, например textBoxName.Мне легче читать, чем трехбуквенные префиксы, и это соответствует именам, сгенерированным IDE.Я называю только те элементы управления, на которые ссылается код.Элементам управления с привязкой к данным обычно не требуется имя.

1 голос
/ 09 ноября 2010

В следующем примере используется большинство программистов .net

Control: Label
Prefix : lbl
Example: lblFirstName
...