Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Потрепаться";
Текущий архив: 2004.06.20;
Скачать: [xml.tar.bz2];

Вниз

Система наименования компонентов   Найти похожие ветки 

 
_Начинающий_   (2004-06-04 18:07) [0]

Здравствуйте, Мастера. Прочитал книгу Тейксейра и Пачеко "Delphi. Руководство разработчика". Они пишут про наименование компонентов:


1. Удалите из имени компонента префикс T. Например, TButton превращается в Button.

2. Из полученного значение удалите все гласные буквы, за исключением первых букв слова. Например, Button превращается в bttn, а Edit превращается в edt.

3. Удалите сдвоенные согласные буквы. Например, bttn превращается в btn.


Все бы хорошо, но для компонентов типа TApplicationEvents получаются совершенно неудобоваримые имена. Как в таком случае поступаете вы? Может быть кто-то использует более совершенную схему? Если можно - приведите примеры. Или я не прав и такие длинные префиксы как aplctnevnts вполне нормальное явление?


 
panov ©   (2004-06-04 18:16) [1]

Я именую по-другому:

TButton            - bn<Назначение>
TBitBtn            - bb<Назначение>
TApplicationEvents - ae<Назначение>
TPaintBox          - pb<Назначение>
TSpeedButton       - sbn<Назначение>
TSpeedBar          - sb<Назначение>
TScrollBar         - sbr<Назначение>

и т.п.


 
VMcL ©   (2004-06-04 18:17) [2]

>>_Начинающий_  (04.06.04 18:07)

Лично я компоненты, которые обычно "существуют на форме" в едином экземпляре, называю просто: TMainMenu -> MainMenu, TApplicationEvents -> ApplicationEvents или AppEvents и т. п.

Префиксы, если ставлю, то по первым буквам слов, хотя и делаю исключения (eg.: bStart: TButton; bbStop: TBitBtn; miExit: TMenuItem; smiFile: TMenuItem; lvDir: TListView; eText: TEdit; lText: TLabel; stText: TStaticText и т. п.). Мне так понятней.

P.S. А вообще это дело вкуса и личного или коллективного удобства.


 
Anatoly Podgoretsky ©   (2004-06-04 18:35) [3]

А я не муча.сь, а отражаю суть - FindButton, SaveButton etc


 
_Начинающий_   (2004-06-04 19:01) [4]

2 panov ©   (04.06.04 18:16) [1]

А как будет Вашим способом именоваться TMenuItem с одинаковым Caption в TMainMenu и TPopupMenu? Просто хочется проследить некую зависимость...

2 VMcL ©   (04.06.04 18:17) [2]

> P.S. А вообще это дело вкуса и личного или коллективного
> удобства.

Как не странно, хочется чтобы было по "инструкции". Т.е набор определенных правил с помощью которых возможно дать уникальное и в то же время классифицированное имя компоненту.


 
vuk ©   (2004-06-04 19:03) [5]

1. Явно имена присваиваются только тем компонентам, к которым будет обращение из текста программы.
2. Для компонентов, отвечающих за работу с хранимыми процедурами префиксы не используются. Их имена в точности соответствуют тому, как процедуры называются в БД, а там своя система префиксов.

Для всего остального префиксы используются, но никогда не делаются длиннее 4 символов. Примерно так:

Кнопка (любая) - btn
TActionList - al
TAction - ac
TDataSet - ds
TPanel - pnl
TLabel - lbl


 
AlexG ©   (2004-06-04 20:12) [6]

TButton - btn<Описание>
TMainMenu - MainMenu, если одно; <Описание>Menu
TForm - frm<Описание>

Подход такой:
- Если елемент один - именуется полным своим типом;
- Если более 1 - префикс минимизируется до понятного и уникально идентифицирующего тип компонента и добавляется Смысл компонента. Если компонент служит декорацией, то с имененм не заморачиваемся...


 
Vlad ©   (2004-06-04 20:19) [7]

А вот вопрос: компонентам TLabel кто нибудь специально дает имена?
Ну к примеру, есть форма с кучей TEdit"ов, к каждому из них соотв. подпись в виде TLabel, она статична и не меняется программой.
Я обычно забиваю на это дело, и оставляю дефолтные имена :-)

Интересно, а как другие поступают ?


 
AlexG ©   (2004-06-04 20:23) [8]


> Vlad

Говорю:

> Если компонент служит декорацией, то с имененм не заморачиваемся...


 
panov ©   (2004-06-04 20:28) [9]

>_Начинающий_   (04.06.04 19:01) [4]

А как будет Вашим способом именоваться TMenuItem с одинаковым Caption в TMainMenu и TPopupMenu? Просто хочется проследить некую зависимость...

Объект TMainMenu будет именоваться mm, а с TpopupMenu - pm, к тому же Popup относятся к определенным компонентам, TItem"s будут начинаться с разных префиксов:

TMainMenu: mmFileOpen, mmFileSave etc..
TPopupMenu: pmfMainFileOpen, pmpbFileOpen,pbFileSave etc..


 
panov ©   (2004-06-04 20:31) [10]

>Vlad ©   (04.06.04 20:19) [7]
А вот вопрос: компонентам TLabel кто нибудь специально дает имена?

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

Например laCounter,laTime


 
Vlad ©   (2004-06-04 20:37) [11]

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


 
DVM ©   (2004-06-04 20:43) [12]


> Имеет ли это хоть какой-то смысл ?

"Красивше" смотрится проект. Я лично стараюсь давать имена всему.


 
AlexG ©   (2004-06-04 21:02) [13]


> "Красивше" смотрится проект. Я лично стараюсь давать имена
> всему.

UnusedLabel1 etc.


 
Vlad ©   (2004-06-04 21:03) [14]


> AlexG ©   (04.06.04 21:02) [13]


> UnusedLabel1 etc.

Почему же Unused ? :-)
Она Used, только не Changed :-)


 
Anatoly Podgoretsky ©   (2004-06-04 21:07) [15]

Vlad ©   (04.06.04 20:37) [11]
Имеет, сопровождение дешевле


 
AlexG ©   (2004-06-04 21:10) [16]


> Anatoly Podgoretsky ©   (04.06.04 21:07) [15]
> Vlad ©   (04.06.04 20:37) [11]
> Имеет, сопровождение дешевле

Точно!, а я не сразу изюм заметил :)


 
Игорь Шевченко ©   (2004-06-04 22:51) [17]

У меня смесь из
Anatoly Podgoretsky ©   (04.06.04 18:35) [3]
и (частично)
vuk ©   (04.06.04 19:03) [5]

Если компонент на форме в единственном экземпляре, то убирается 1 из его автоматически генерируемого имени, например ActionList, MainMenu и т.д.



Страницы: 1 вся ветка

Форум: "Потрепаться";
Текущий архив: 2004.06.20;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.49 MB
Время: 0.035 c
6-1082984822
Анонимщик
2004-04-26 17:07
2004.06.20
TServerSocket/TClientSocket, вычитывание пакетов


3-1085635989
evgen
2004-05-27 09:33
2004.06.20
Экспорт содержимого DBGrid в Excel


3-1085501585
gfr
2004-05-25 20:13
2004.06.20
умножение времени на тариф за переговоры


14-1085934647
riko
2004-05-30 20:30
2004.06.20
Программирование мобильных телефонов


3-1085728069
asta
2004-05-28 11:07
2004.06.20
Вопрос по датам.





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский