txtFirstName против FirstNameTxt - PullRequest
       6

txtFirstName против FirstNameTxt

6 голосов
/ 28 июня 2010

В течение последних нескольких лет я использовал соглашение об именах FirstNameTxt, когда ссылаюсь на элемент управления TextBox для поля «Имя». Тем не менее, я заметил, что большинство других разработчиков используют соглашение об именах txtFirstName

Какое соглашение лучше всего использовать? и почему это предпочтительнее другого метода?

Ответы [ 7 ]

20 голосов
/ 28 июня 2010

Мне нравится использовать венгерскую нотацию - с добавлением трехбуквенного сокращения - если по какой-либо другой причине все элементы управления текстовым полем сгруппированы в списке элементов управления для страницы.

1 голос
/ 28 июня 2010

Начиная с Visual Studio 2010, абсолютно нет причин использовать венгерскую нотацию.

Единственная причина, которую можно себе представить, - легкий поиск похожих элементов управления с помощью intellisense, уходит с новым intellisense, который выполняет поиск в полном тексте.

Таким образом, набрав Text в редакторе кода, вы найдете все: firstNameText, lastNameText, anyText.

И гораздо проще читать "firstNameText", чем "txtFirstName" в коде.

0 голосов
/ 28 июня 2010

Я не использую венгерскую нотацию. Если у меня возникают проблемы с запоминанием точных имен элементов управления в моей форме, то я делаю что-то не так. Скорее всего, класс формы делает слишком много и имеет несколько обязанностей.

Чтобы исправить это, я обычно делю форму на подразделы, используя пользовательские элементы управления, и четко разделяю их. В качестве дополнительного бонуса код становится проще для тестирования.

0 голосов
/ 28 июня 2010

Обычно я использую «ux» для «User eXperience» в качестве префикса для имен элементов управления.Это облегчает переключение типов управления при сохранении того же имени.Поскольку элементы управления имеют общую иерархию наследования, часто можно переключаться с одного на другое, например, с метки на текстовое поле без изменения префикса с «lbl» на «txt».Он также группирует все элементы управления в списке, поэтому мне не нужно запоминать тип элемента управления, который я ищу.

0 голосов
/ 28 июня 2010

В рекомендациях .NET Framework рекомендуется использовать первый символ в нижнем регистре.Как "txtFirstName" или "awesomeVariable" и т. Д.

http://msdn.microsoft.com/en-us/library/x2dbyw72(v=VS.71).aspx

См. Этот список рекомендаций.:)

0 голосов
/ 28 июня 2010

Из исследований, проведенных мной по той же теме, похоже, нет истинного консенсуса или наилучшей практики.Люди будут утверждать, что это должны быть txtFirstName, FirstName и FirstNameTxt.Я предполагаю, что до тех пор, пока это соответствует, то у вас все хорошо.Нет ничего хуже, чем кодирование, когда имена переключаются.

В качестве отступления я использую txtFirstName

0 голосов
/ 28 июня 2010

Одно не лучше другого.Самое главное - быть последовательным в том соглашении, которое вы выберете.

Поскольку вы использовали свое текущее соглашение в течение последних нескольких лет, я бы не стал меняться, потому что тогда вы нарушите соглашение.Если, конечно, вы не решите вернуться и провести рефакторинг всего существующего кода для нового соглашения.Но тут напрашивается вопрос «зачем?»

...