Каковы рекомендации по именованию для средств управления ASP.NET?

То, что вы ищете, это регулярные выражения

То, что вам нужно сделать, это:

import re

# don't actually use the **, i'm putting those there for emphasis.
s = re.search(r"(?P**pattern goes here**)(?P**pattern goes here**, **name of string goes here**)

, тогда вы можете взять группу и повернуть обратно в строку, выполнив

string = str(s.group('group_name'))

Я оставлю вас в логике поиска совпадений, если вам нужна помощь, просто оставьте еще один комментарий:)

19
задан Christian Hagelid 8 October 2008 в 06:55
поделиться

14 ответов

Причина, по которой Visual Studio добавляет «TextBox1», когда вы добавляете его на страницу, заключается в том, что Microsoft не знает, как вы собираетесь его использовать. Назвать его «Control1» было бы слишком запутанно, потому что это могло быть любое количество элементов управления.

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

Основные причины:

  • Тип элемента управления может измениться с текстового поля на список, тогда весь связанный код должен быть исправлен (отмечалось ранее)
  • Ваш код должен больше беспокоиться о содержании элемента управления, а не о том, какой это элемент управления. Когда вас интересует тип элемента управления, вы начинаете зависеть от определенных функций и нарушаете инкапсуляцию - вы должны иметь возможность легко менять элементы управления, не меняя много или какой-либо код. (Базовый принцип ООП)
  • Довольно легко придумать префиксы для стандартных элементов управления, но новые элементы управления разрабатываются каждый день. Вы можете создать свой собственный WebUserControl, или вы можете приобрести набор сторонних элементов управления. Как вы решите, какой префикс использовать для настраиваемых элементов управления? Вместо того, чтобы фокусироваться на типе элемента управления, ваш код должен заботиться о том, какая информация в нем содержится.

Примеры

  • txtFirstName = > firstName или FirstName
  • txtState => state или State
  • cboState => state или State (яркий пример изменения типов элементов управления, например, lstState или rdoState - все они должны иметь одно и то же имя, потому что ваш код не касается тип элемента управления, а не состояние, выбранное пользователем)
  • ctlBilling => billingAddress или BillingAddress (пользовательский элемент управления - с венгерской нотацией не очень очевидно, что это за элемент управления, но с осмысленным именем я начинаю понимать содержащуюся информацию в нем. т.е. billingAddress.Street, billingAddress. FullAddress и т. Д.)
29
ответ дан 30 November 2019 в 02:15
поделиться

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

  • AgeRangeDropDownList
  • AgreedToTermsCheckBox
  • FirstNameTextBox
  • LastNameTextBox

VS:

  • chkAgreedToTerms
  • ddlAgeRange
  • txtFirstName
  • txtLastName
5
ответ дан 30 November 2019 в 02:15
поделиться

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

я обычно сокращаю тип управления перед название того, что делает управление. Я сохраняю нижний регистр сокращения и имя управления CamelCase.

, Например, texbox для имени пользователя становится tbUserName

, Вот список стандартных сокращений, которые я использую:

Abbr     -  Control

btn  -  Button
cb   -  CheckBox
cbl  -  CheckBoxList
dd   -  DropDownList
gv   -  GridView
hl   -  Hyperlink
img  -  Image
ib   -  ImageButton
lbl  -  Label
lbtn -  LinkButton
lb   -  ListBox
lit  -  Literal
pnl  -  Panel
ph   -  PlaceHolder
rb   -  RadioButton
rbl  -  RadioButtonList
txt  -  Textbox
22
ответ дан 30 November 2019 в 02:15
поделиться

Мы также используем номер 2, однако я не полностью убежден, что это - хороший подход. Это - Венгерская запись от "плохого" вида, означая, что префиксы сигнализируют о типе (синтаксис) а не цель (семантика). Проблема с этим состоит в том, что, что запускается, поскольку TextBox мог бы позже стать DropDown и затем RadioButtonGroup, и необходимо будет переименовать управление каждый раз.

0
ответ дан 30 November 2019 в 02:15
поделиться

Я don’t думают there’s право или неправильно отвечают здесь, независимо от того, что Вы решаете, я думаю, что самый важный аспект должен только быть последовательным, когда это на самом деле приходит к кодированию.

0
ответ дан 30 November 2019 в 02:15
поделиться

Едва ли уверенный в любых инструкциях, я подозреваю, что существует, но я всегда использую номер 2 также!

-1
ответ дан 30 November 2019 в 02:15
поделиться

Если бы Вы смотрите на него из кода maintainance точка зрения, какова была бы лучшая нотация для взгляда на то, после того, как Вы сделали код 2 года назад. Хотя мы пытаемся удостовериться, чтобы формы не имели слишком многих полей на них, все мы знаем, что это иногда происходит. Если бы мы использовали Венгерскую нотацию путем предварительного ожидания типа управления, я думаю, что было бы легче видеть, куда то значение прибывает из вместо того, чтобы иметь необходимость понять это в конечном счете, имя переменной не делает это очевидным. Если бы Вы используете какой-либо тип инструмента Refactoring, затем меняющего имя управления, изменил бы код автоматически, таким образом, сокращение контроля изменений arguement.

0
ответ дан 30 November 2019 в 02:15
поделиться

они действительно просто основаны на Ваших предпочтениях, но да, опция 2, как описано является менее подробной и указывает Вам на тип управления даже, прежде чем его имя покажут.

-1
ответ дан 30 November 2019 в 02:15
поделиться

Я боролся с этой проблемой также. Я раньше использовал "венгерский префикс стиля".

Теперь я проявляю другой подход, я пытаюсь рассматривать средства управления как частные поля от моего класса. Я не делаю пред - постфикса мои частные поля с их типом, итак, почему я должен сделать это к TextBox?

Поэтому, что раньше было:

var newCustomer = new Customer();
newCustomer.Name = txtName.Value;
newCustomer.Address = txtAddress.Value;
newCustomer.City = txtCity.Value;
newCustomer.HasEnoughMoney = cbHasMoney.Selected;

Становится:

var newCustomer = new Customer();
newCustomer.Name = name.Value;
newCustomer.Address = address.Value;
newCustomer.City = city.Value;
newCustomer.HasEnoughMoney = hasMoney.Selected;

Честно говоря, я не мог заботиться меньше, если управление "именем" является текстовым полем или что еще, я просто хочу, это - значение.

И если не достаточно ясно, думаю ли Ваш разговор о Вашем управлении или о другом поле/переменной, я Вы или должен пересмотреть название того поля/переменной или функцию Вас класс (значение его мог бы быть немного к большому?).

0
ответ дан 30 November 2019 в 02:15
поделиться

Я склонен идти с типом управления как префикс и название управления впоследствии, но я всегда CamelCase так в Вашем примере для различных типов средств управления Вы могли бы иметь..

  • TxbFirstName
  • DdFirstName
  • ChbFirstName

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

  • TxbFName
  • TxbClientNo
  • TxbNoOfCpn

, Но в конечном счете вниз к персональному предпочтению

0
ответ дан 30 November 2019 в 02:15
поделиться

Почти все используют префиксы венгерского стиля (опция 2). Семантическое именование менее полезно, потому что "Firstname" является на самом деле texbox. Текстовое значение, не само текстовое поле.

0
ответ дан 30 November 2019 в 02:15
поделиться

Я не уверен в инструкциях относительно ASP.NET, но в книжном Руководстве по проектированию Платформы от Microsoft, существует несколько инструкций лучшей практики об именовании участников класса. Так как Средства управления ASP.NET в большинстве случаев приводят к защищенному полю соответствующего типа, я полагаю, что эти рекомендации по именованию касаются средств управления ASP.NET также. На самом деле Анализ кода не дифференцируется на полях ссылки Управления и других полях.

Эти инструкции рекомендуют использовать схему именования, которая подразумевает логическое использование, а не описательный типом вариант. Существует несколько причин этого. Префикс, подразумевает тип разработчику, который не мог бы быть корректным из-за более поздних изменений. Это добавляет дополнительный шаг в коде maintainence. При изменении Кнопочного управления в управление LinkButton, имя также должно измениться для исправления префикса.

По этой причине я назвал бы управление FirstNameEdit и т.д.

1
ответ дан 30 November 2019 в 02:15
поделиться

Две причины, почему я предпочитаю опцию 1:

  1. FirstNameTextBox более тесно соответствует моему бизнес-объекту.
  2. Более применимый с IntelliSense.

сказавший, что я считаю изменение на FirstNameCtrl по причине csgero указанным об изменяющихся типах управления. Итак, почему беспокойство с любым постфиксом или префиксом, для уменьшения/удаления возможности конфликтов с asp/победой формирует свойства.

1
ответ дан 30 November 2019 в 02:15
поделиться

Microsoft действительно обеспечивает приблизительно руководство здесь.

при перетаскивании управления на веб-форму, Вы получаете что-то как "TextBox1" автоматически. Это - IDE, говоря Вам, что необходимо измениться "1" часть для определенных потребностей.

В этом случае, "TextBoxFirstName" походит на способ пойти.

2
ответ дан 30 November 2019 в 02:15
поделиться
Другие вопросы по тегам:

Похожие вопросы: