Модераторы: Snowy, MetalFan, bems, Poseidon

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Префиксы в именах компонентов 
:(
    Опции темы
ifrost
Дата 2.11.2009, 12:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 6
Регистрация: 6.8.2009

Репутация: нет
Всего: нет



Добрый день!

Скажите, существует ли в мире набор префиксов для имён компонентов?
Или есть какой-нибудь список правил, по которым можно придумать самому эти префиксы?

К примеру:
Код
TButton.Name := btnClose;
TImage.Name := imgPhoto;

Для Image и Button - btn и img соответственно.
А как для других компонетнов написать?
Какими префиксами пользуетесь Вы, уважаемые участники форума?
PM MAIL   Вверх
~FoX~
Дата 2.11.2009, 12:55 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


НЕ рыжий!!!
****


Профиль
Группа: Участник Клуба
Сообщений: 2819
Регистрация: 8.10.2003
Где: Зеленоград

Репутация: 5
Всего: 68



ifrost, Это называется Венгерская нотация
Не люблю я этот метод...


--------------------
user posted image
…множественность никогда не следует полагать без необходимости…
PM MAIL WWW ICQ Jabber   Вверх
former
Дата 2.11.2009, 13:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


MEMS Expert
***


Профиль
Группа: Завсегдатай
Сообщений: 1166
Регистрация: 1.3.2006
Где: Россия

Репутация: 4
Всего: 17



ifrost, скачай и установи CnWizard. В нем есть такое дело.


--------------------
Достаточно снизить уровень мышления, чтобы иные почувствовали почву под ногами.
PM MAIL   Вверх
Beltar
Дата 2.11.2009, 15:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 627
Регистрация: 11.1.2006

Репутация: 0
Всего: 7



Я использую Венг. нота... т. е. Трансильванскую ересь, но только для имен компонентов и обычно обхожусь двухбуквенными префиксами: edSomeTEdit, cbSomeComboBox, cbSomeCheckBox, в одном раннем проекте я надавал имена типа dblcbSomeDBLookUpComboBox. Да ну его нафиг, это даже запомнить сложно.
Часто ограничиваюсь очевидными TV - TreeView, LV - ListView, PC - PageControl и т. п. когда компонент доминирует на форме и в каждой третьей строке кода к нему обращение писать что-то вроде tvFactoryDivisionsTree даже у паскальщика пальцы устанут. В остальных случаях надо выкурить очень много чего-то сильного чтобы считать, что lpstrSomeString облегчает чтение. smile 
Сейчас MS уже не рекомендует использовать Венгерскую нотацию и при именовании переменных даже на шарпе использовать принятый в Паскале CamelStyle.


--------------------
Опытный программист на C++ легко решает любые не существующие в Паскале проблемы. smile(с) я, хотя может и нет
Пищущий на C++ мужик. Даже если это мужик сидит в написанном на Delphi и жрущем паскалевскую библиотеку билдере.
PM MAIL   Вверх
Hexel
Дата 2.11.2009, 18:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 73
Регистрация: 30.10.2007
Где: UA

Репутация: нет
Всего: нет



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

зы: хоть меня еще со школы учили подобным приемам и стилям, все равно я понял, что правильный стиль приходит уже в последнюю очередь, т. к. это больше нужно для твоего удобства.
PM MAIL   Вверх
kemiisto
Дата 2.11.2009, 18:31 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Дикий Кот. =^.^=
****
Награды: 1



Профиль
Группа: Участник Клуба
Сообщений: 3292
Регистрация: 29.7.2007

Репутация: 2
Всего: 160



Я обычно делаю так: есть класс TSomeClass (VCL, как давно это было smile ) или QSomeClass (Qt), или SomeClass (где бы то ни было). Имя переменной такого класса начинается с префикса someClass, далее внятное имя, описывающее назначение. Например,
Код

var
  buttonRunCalculation: TButton;


Часто имена получаются длинными, но есть auto completion, с которым при таком подходе очень удобно работать. Я знаю, что мне нужна кнопка. Набираю button, жмакаю Ctrl + Space и, если имена давать внятные, быстро нахожу нужную мне кнопку. smile Именно поэтому удобнее иметь префикс в названии объекта по названию класса, а не суффикс. Мне удобнее. smile  

Это сообщение отредактировал(а) kemiisto - 2.11.2009, 18:32


--------------------
PM MAIL WWW GTalk Jabber   Вверх
Beltar
Дата 2.11.2009, 19:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 627
Регистрация: 11.1.2006

Репутация: 0
Всего: 7



В VS оно не дожидаясь Ctrl-Space работает, а для меня, например, запомнить все полезные клавиатурные комбинации очень трудно, поэтому использую только некоторые. :( Может оказаться быстрее fmMain. набрать.

Это сообщение отредактировал(а) Beltar - 2.11.2009, 19:05


--------------------
Опытный программист на C++ легко решает любые не существующие в Паскале проблемы. smile(с) я, хотя может и нет
Пищущий на C++ мужик. Даже если это мужик сидит в написанном на Delphi и жрущем паскалевскую библиотеку билдере.
PM MAIL   Вверх
MetalFan
Дата 2.11.2009, 20:26 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Аццкий Сотона
****


Профиль
Группа: Комодератор
Сообщений: 3815
Регистрация: 2.10.2006
Где: Moscow

Репутация: 22
Всего: 128



я за префиксы... всегда их пользую, и на работе народ приучился)
Раньше было: CancelButton, OkButton, UsersListBox... что имхо вообще нечитаемо и неюзаюбельно.
а вот btnCancel, btnOk, lstUsers - самое оно!!!


--------------------
There are always someone smarter than you...
PM MAIL   Вверх
Akella
Дата 3.11.2009, 15:46 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Творец
****


Профиль
Группа: Модератор
Сообщений: 18485
Регистрация: 14.5.2003
Где: Корусант

Репутация: 8
Всего: 329



MetalFan, kemiisto, я тоже с префиксами! smile 
Когда короткие, когда длинные. Но чаще 3-4 символа^
fmMain(Form)
chboxRegions(CheckBox)
btnCancel (Button)
edName(Edit)
lbName(Label)
vleParams (ValueListEditor)
dbgMain (DataBaseGrid)

Это сообщение отредактировал(а) Akella - 3.11.2009, 15:47
PM MAIL   Вверх
Keeper89
Дата 3.11.2009, 18:39 (ссылка) |  (голосов:2) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2580
Регистрация: 26.2.2009

Репутация: 9
Всего: 58



Akella, 
MetalFan,
и я того же мнения smile
Раньше ставил сам, с недавних пор CnWizards помогает smile


--------------------
PM MAIL WWW   Вверх
Akella
Дата 3.11.2009, 23:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Творец
****


Профиль
Группа: Модератор
Сообщений: 18485
Регистрация: 14.5.2003
Где: Корусант

Репутация: 8
Всего: 329



Неее, CnWizards мне не понравился в этом плане.
PM MAIL   Вверх
THandle
Дата 4.11.2009, 19:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Хранитель Клуба
Group Icon
Награды: 1



Профиль
Группа: Админ
Сообщений: 3639
Регистрация: 31.7.2007
Где: Moscow, Dubai

Репутация: 50
Всего: 372



Раньше называл компоненты как попало. В последнее время использую префиксы + стараюсь правильно отражать в названии мысль по-английски.

Хотя во всяких тестовых программках использую названия типа Button1, Memo5... smile 
PM   Вверх
Keeper89
Дата 4.11.2009, 19:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2580
Регистрация: 26.2.2009

Репутация: 9
Всего: 58



Akella, почему?

Добавлено через 21 секунду
Цитата(THandle @  4.11.2009,  20:53 Найти цитируемый пост)
Хотя во всяких тестовых программках использую названия типа Button1, Memo5... smile  

+1


--------------------
PM MAIL WWW   Вверх
kemiisto
Дата 4.11.2009, 20:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Дикий Кот. =^.^=
****
Награды: 1



Профиль
Группа: Участник Клуба
Сообщений: 3292
Регистрация: 29.7.2007

Репутация: 2
Всего: 160



 smile Давненько я на Delphi не писал.
Код

var
  buttonRunCalculation: TButton;


А надо так:
Код

var
  ButtonRunCalculation: TButton;


Naming Conventions редко бывают до конца согласованными, но... Уж как принято... smile 


--------------------
PM MAIL WWW GTalk Jabber   Вверх
Akella
Дата 4.11.2009, 22:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Творец
****


Профиль
Группа: Модератор
Сообщений: 18485
Регистрация: 14.5.2003
Где: Корусант

Репутация: 8
Всего: 329



Keeper89, он не очень красиво называл компоненты. Не понравилось мне. Да и помниться, что слишком назойливо он себя вёл.

Добавлено через 34 секунды
Цитата(kemiisto @  4.11.2009,  20:09 Найти цитируемый пост)
А надо так:

префикс по идее должен быть маленькими буквами полностью
PM MAIL   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Для новичков"
SnowyMetalFan
bemsPoseidon
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

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

  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Для новичков | Следующая тема »


 




[ Время генерации скрипта: 0.0719 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.