При использовании дизайнера формы должны быть названы метки? - PullRequest
1 голос
/ 31 августа 2010

В таких средах разработки, как QtCreator или с конструктором форм Visual C #, я хотел бы услышать, должны ли метки «именоваться» или просто оставаться со схемой именования по умолчанию от дизайнера форм.Если объект не будет затронут в коде и служит только неизменяемой текстовой информацией, должен ли объект быть частью какой-либо схемы именования?Если у меня есть метка над текстовым полем, в которое пользователь вводит свое имя, я должен назвать эту метку "lblNamePrompt"?

Просто интересно получить некоторые ответы.

Ответы [ 3 ]

3 голосов
/ 03 января 2011

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

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

Предполагая, что вы используете дизайнер форм в Visual Studio, я предлагаюочень простое правило:

  • Если вы не планируете использовать элемент управления где-либо в своем коде, вам следует установить для его свойства GenerateMember значение "False". Это предотвращает создание конструктором переменной элемента уровня класса для элемента управления, вместо этого генерируется только локальная переменная в InitializeComponent методе , который ограничивает беспорядок.Тогда и только тогда, когда вы будете чувствовать себя комфортно, не называя элемент управления именем.

  • В противном случае, если вы планируете или можете когда-либо ссылаться на элемент управления где-то в вашем коде,должен дать ему описательное имя. Период.Не так сложно что-то напечатать.

Я предположил, что спорная часть этого вопроса будет состоять в том, будет ли квази-венгерская запись полезной
(как это было предложено в ответе Гариса), а не в том,Вы должны дать элементам управления имя вообще.Мне лично нравится способ, которым "btn" заставляет все элементы управления кнопок сортироваться вместе в Intellisense, но я понимаю, что у некоторых людей есть патологическая ненависть к венгерскому языку, которая, вероятно, связана с тем, что она была вынуждена использовать ее раньшеэтап их карьеры программиста, так что не стесняйтесь использовать его или нет в зависимости от вашего удовольствия.

1 голос
/ 31 августа 2010

Я думаю, что сохранение кода в чистоте , даже если вы не собираетесь касаться его «никогда» (обратите внимание на двойные кавычки), является хорошей практикой.Я рекомендую дать ему хорошее имя.

Я не программист .NET, но я видел в некотором коде, что они используют такие имена, как:

Для:

Этикетки:

  • lblFirstName
  • lblLastName
  • lblAddress

Кнопки:

  • btnSend
  • btnCancel

Я очень PRO- YAGNI .Но я думаю, что стоит дать объектам имя, которое ссылается на его назначение / использование.

1 голос
/ 31 августа 2010

Если объект не будет затронут в коде и служит только неизменяемой текстовой информацией, должен ли объект быть частью некоторой схемы именования?

Я бы не назвал его, если не собираюсь его использовать.

Потому что я ленивый и потому что если что-то работает как есть, я не собираюсь это что-то исправлять.

...