Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2006.08.20;
Скачать: CL | DM;

Вниз

Прошу заценить новую статью   Найти похожие ветки 

 
Marser ©   (2006-07-18 23:23) [40]

> [39] jack128 ©   (18.07.06 23:12)
> tesseract ©   (18.07.06 14:44) [19]
> не я uShared, uMain,uAbout.
> есть модуль uSettings - в нем реализован класс настроек.
> Как назвать модуль с формой, с помощью которой эти настройки
> редактируются?

У меня первое - как раз модуль формы. Независимый модуль - просто Settings. По-другому делать не вижу смысля, точечная аннотация, ИМХО, от лукавого, очень длинно получается...


 
Rouse_ ©   (2006-07-18 23:28) [41]


> К слову, местный Гаврила приучил меня пользоваться точечной
> натацией в названии модулей.  Например, из текущего проэкта
> PropertyForm.Organization (форма, отображающая свойства
> организации), PropertyForm.Dongle (свойства электронного
> ключа)

Женя, что с твоей грамматикой? :)
ЗЫ: не точечной, а пространством имен aka NameSpace (если я правильно тебя понял), которое нормально стало поддерживаться только с 2005-ой Delphi.


 
DiamondShark ©   (2006-07-18 23:35) [42]


> Контроль выполняется в обработчике события OnExit. Такой
> обработчик может выглядеть следующим образом:
>
> procedure TTestChildForm.Edit1Exit(Sender: TObject);
> begin
>   if (Edit1.Text = "") and (not btbtnCancel.Focused) then
>     Hints.ShowErrorHintEx(Edit1, "Вы должны ввести свои
> ФИО");
> end;

А если фокус никогда не попадёт в Едит1, то юзер так и не узнает, что он должен ввести?
Хм..


 
Игорь Шевченко ©   (2006-07-18 23:38) [43]


> > Как назвать модуль с формой, с помощью которой эти настройки
>
> > редактируются?


SettingForm ?


 
Джо ©   (2006-07-18 23:41) [44]

Раз пошла такая пьянка, то обнародую и свои стандарты именования форм и их модулей. Имена форм образца [b]XXXForm[/b], модули — [b]uXXXForm[/b]. Раньше в названии формы использовал префикс Frm, теперь считаю более удобной упомянутую схему.


 
Джо ©   (2006-07-18 23:41) [45]

> [44] Джо ©   (18.07.06 23:41)

Sorry за неуместный BBCode :(


 
grisme ©   (2006-07-18 23:53) [46]

я обзываю с постфиксом: MainFrm, ApplyBtn, NameText..)
юниты: mainunit,CheckFunit..

А статья показалась просто "сведением общего", но иногда полезно почитать, сравнить себя..Пасыыба за статью..)


 
Юрий Зотов ©   (2006-07-19 00:09) [47]

Все чаще вспоминаю Чехова...


 
jack128 ©   (2006-07-19 00:12) [48]

Rouse_ ©   (18.07.06 23:28) [41]
Женя, что с твоей грамматикой? :)

Она у меня хромает. Нет, она здоровая. Но хромает (с)

Rouse_ ©   (18.07.06 23:28) [41]
не точечной, а пространством имен aka NameSpace (если я правильно тебя понял), которое нормально стало поддерживаться только с 2005-ой Delphi.

Гм. На пальцах, что такое Namespace ?? AFAIK, в Delphi for Win32 нету такого понятия. IDE c модули с точками в названии и седьмой версии нормально понимает. Правда Ctrl + Space не работает...

Игорь Шевченко ©   (18.07.06 23:38) [43]
SettingForm ?

Это противоречит стандарту tesseract"а и Marser"a

Marser ©   (18.07.06 23:23) [40]
очень длинно получается...

нормально. Для модулей это уж точно - не критично.


 
Loginov Dmitry ©   (2006-07-19 00:25) [49]

>[42] А если фокус никогда не попадёт в Едит1, то юзер так и не
> узнает, что он должен ввести?
> Хм..


Узнает. Обработчик щелчка на кнопку "Принять" направит его на путь истинный ;)


 
Джо ©   (2006-07-19 00:27) [50]

> [44] Джо ©   (18.07.06 23:41)

Сегодня у меня день из серии "пишу, но думаю о чем-то другом" :( В общем: имена форм XXXForm, их модули — XXXFormUnit.


 
antonn ©   (2006-07-19 06:20) [51]

для форм обычно пишу *Form либо Form*, главная форма всегда MainForm.
для лабелов L* или L_* (по аналогии и для других компонентов - чекбокс и комбобокс cb, панель p, радиобатон rb, батон B, табшиты TS, едиты E, имаджлисты IL). Для "самодостаточных" модулей, содержащих только процедуры и функции(рекорды и тп) название начинается на "_" (_scanline, _type). Кнопки "Ок" и "Отмена" всегда BOK и BNO.
почти никогда не пользовался битбаттоном, т.к. в D7 он неверно отрисовывается в теме ОС :)

но эти правила использую для относительно "серьезных" проектов, для тестирования и проверки какой то функции на тестовом проекте обхожусь встроенным "автоназыватором" :)


 
Игорь Шевченко ©   (2006-07-19 10:45) [52]

jack128 ©   (19.07.06 00:12) [48]


> Это противоречит стандарту tesseract"а и Marser"a


"Запасы у нас совсем истощились, консервы надоели, и нужно было подумать... об определении на жаркое наших петушков.
Но тут новая неприятность: встал вопрос о том, с которого начинать. Уж очень, знаете, дружные были петушки. Черного зажарить - белый скучать будет, белого зажарить - черный заскучает...
Я размышлял над решением этой проблемы, серьезно размышлял, но так и не пришел к должным выводам...
...Пришлось расширить комиссию. Кооптировали Лома. Назначили заседание. Я изложил сущность дела, познакомил собрание с историей вопроса, поднял, так сказать, материал. И не зря. Лом неожиданную такую трезвость взглядов и находчивость проявил в этом деле, что сразу всё, как говорится, встало на свои места.
Он и минуты не думал. Так, знаете, не колеблясь, прямо и говорит:
-Режьте черного.
- Позвольте, - говорим мы, - ведь белый скучать будет!
- А черт с ним, пусть скучает! - возражает Лом. - Нам-то какое дело?
И, знаете, пришлось согласиться. Так и сделали. ...Петушок оказался прекрасный, жирный, мягкий, - мы просто пальчики облизывали, пока его ели. Впрочем, и второй был не хуже"

(с) А. Некрасов


 
tesseract ©   (2006-07-19 10:48) [53]


> Юрий Зотов ©   (19.07.06 00:09) [47]

Я тоже .


 
Игорь Шевченко ©   (2006-07-19 10:51) [54]

По именованию:

Имена классов форм начинаются с буквы f (например, TfMain, TfConnect), файлы с ними, соответственно, MainForm, ConnectForm, имена классов датамодулей начинаются с dm (TdmFoo, TdmBar), файлы с ними, соответственно, заканчиваются на Data (FooData, BarData), большинство файлов, содержащих только классы или описания интерфейсов, не имеют ни префикса, ни суффикса (Foo, Bar, Connect).

Почему так делается - искать удобно.


 
Loginov Dmitry ©   (2006-07-20 07:55) [55]

> antonn ©   (19.07.06 06:20) [51]


Кстати, вариант! Можно объекты, класс которых состоит из нескольких слов, называть прописными буквами с прочерком, например: TListBox - LB_List, TStatusBar - SB_Status и т.д. Удобно!


 
antonn ©   (2006-07-20 11:37) [56]

Loginov Dmitry ©   (20.07.06 7:55) [55]
да, в общем, так и получается CBleft - TCheckBox, CB_Left - TComboBox, само выходит:)


 
Игорь Шевченко ©   (2006-07-20 11:38) [57]

Loginov Dmitry ©   (20.07.06 07:55) [55]

В программах на Delphi не принято использовать символ подчеркивания таким образом.


 
Prohodil Mimo ©   (2006-07-20 12:09) [58]

Игорь Шевченко ©   (06.07.20 11:38) [57]
В программах на Delphi не принято использовать символ подчеркивания таким образом


кем и почему?

в своих программах использую типа такого: Main_Form (главная форма), Klas_Form (форма классификатора), Klas_AForm (форма добавления записи в классификатор) и т.п.
В именах переменных, процедур и функций подчёркивание никогда не использую.


 
Nic ©   (2006-07-20 12:21) [59]

А чем плохо обозначение CheckBox[ВписатьНужное]
Если открыть чужой проект и увидеть там CB_[ВписатьНужное], то не очень ясно CB - это ComboBox, CheckBox, CoolBar, или вообще что-то другое.
Я делаю так: главная форма - всегда MainForm в модуле Main.
Все остальные frm[ИмяФормы] в модуле Form[ИмяФормы]. Имена всех меню оставляю по умолчанию (раньше переименовывал, но после понял, что это ни к чему, т.к. N1, N2... Nk смотрится весьма компактно). Button1 переименовывается в Button[ОсмысленноеНазвание], все остальные компоненты также. Edit1 => Edit[ОсмысленноеНазвание]. Контекстные меню именуются произвольно, но тоже осмысленно.


 
Nic ©   (2006-07-20 12:23) [60]

Prohodil Mimo ©   (20.07.06 12:09) [58]
Если выделить регистром MainForm, то подчёркивание не очень нужно, т.к. читается и так хорошо. А вот в случае mainform такой разделитель очень кстати. Впрочем, дело вкуса.


 
Игорь Шевченко ©   (2006-07-20 12:23) [61]

Prohodil Mimo ©   (20.07.06 12:09) [58]


> кем и почему?


Кем - сообществом программистов, выработавшим Coding Style.
Почему - наверное по историческим причинам.


 
Nic ©   (2006-07-20 12:24) [62]

Прочие модули (без форм) называю произвольно.


 
Nic ©   (2006-07-20 12:27) [63]

Хотя, если модулей очкень много, неплохо продумать систему префиксов, чтобы в проекте было легче ориентироваться.
Иногда вижу проекты, где все модули Unit1, Unit2, Unit...; и формы тоже Form1, Form2, Form3.... Удивительно. А если в проекте будет больше сотни форм? :)


 
Lamer@fools.ua ©   (2006-07-20 12:27) [64]

>>Джо ©   (19.07.06 00:27) [50]

>В общем: имена форм XXXForm, их модули — XXXFormUnit.
Забавно. Я тоже так именую :-)
Правда, только формы. Элементы управления — префиксами.

>>Prohodil Mimo ©   (20.07.06 12:09) [58]

>кем...
Программистами :-)

>... и почему?
Ибо Pascal case.


 
Eraser ©   (2006-07-20 12:55) [65]

> [57] Игорь Шевченко ©   (20.07.06 11:38)


> В программах на Delphi не принято использовать символ подчеркивания
> таким образом.

Кстати насчет подчеркивания, вот недавно почитал про формат кода RSDN, так у них принято начинать с "_" имена private методов. Правда разработка ведется на C#. Кто-нибудь применяет это правило в Delphi?


 
Jeer ©   (2006-07-20 13:02) [66]

исторически сложилось - имена своих функций и процедур вне ООП завершаются "_".


 
Джо ©   (2006-07-20 13:11) [67]

> [64] Lamer@fools.ua ©   (20.07.06 12:27)
> >>Джо ©   (19.07.06 00:27) [50]
> Забавно. Я тоже так именую :-)
> Правда, только формы. Элементы управления — префиксами.

Забавно, но я тоже для названия эл. управления использую префиксы :o)
Т.е, lbCaption, edUserName, btnOK и т.п.


 
antonn ©   (2006-07-20 14:04) [68]

Nic ©   (20.07.06 12:21) [59]
А чем плохо обозначение CheckBox[ВписатьНужное]

оно не плохое, если привык так писать, то можно и так. "CB" быстрее пишется.


 
Игорь Шевченко ©   (2006-07-20 14:13) [69]

Eraser ©   (20.07.06 12:55) [65]


> Кстати насчет подчеркивания, вот недавно почитал про формат
> кода RSDN, так у них принято начинать с "_" имена private
> методов. Правда разработка ведется на C#. Кто-нибудь применяет
> это правило в Delphi?


В Delphi приняты другие стандарты. Зачем забивать голову лишним ?


 
Jeer ©   (2006-07-20 14:25) [70]

Джо ©   (20.07.06 13:11) [67]


> Забавно,


Это нормально
Как мне кажется, многие профессионально пишущие программисты, пользуются префиксной системой.

lbx - ListBox
cbx - CheckBox
ed - Edit
fm - Forma
frm - Frame
и тд.


 
Eraser ©   (2006-07-20 14:35) [71]

> [69] Игорь Шевченко ©   (20.07.06 14:13)


> В Delphi приняты другие стандарты. Зачем забивать голову
> лишним ?

на сколько я понял из http://rsdn.ru/article/mag/200401/codestyle.XML - знак подчеркивания это не столько стандарт C#, сколько стандарт RSDN, вот и стало интересно в целесообразности использования этого символа подчеркивания.

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


 
Loginov Dmitry ©   (2006-07-20 16:38) [72]

> В программах на Delphi не принято использовать символ подчеркивания
> таким образом.


Принято-непринято...
Зато уногда бывает удобно. Например приставка VLE_ довольно наглядно указывает, что это ValueListEditor. А если по рекомендации тех авторов (в статье), то получится vlstdtr - не наглядно.
Всетаки проще забить на такие рекомендации, и делать так, так нравится, ибо [48] :)


 
Loginov Dmitry ©   (2006-07-20 16:48) [73]

> ибо [48]


Чет-то меня глюкнуло.
Хотел набрать [52]


 
tesseract ©   (2006-07-20 22:01) [74]

> [52] Игорь Шевченко ©   (19.07.06 10:45)


"Приключения капитана Врунгеля" aka Буриданов осёл для незнакомых с философией


> Например приставка VLE_ довольно наглядно указывает, что
> это ValueListEditor.


а vleColor например ничуть не хуже, но как-то ближе к delphi.


 
Anatoly Podgoretsky ©   (2006-07-20 22:28) [75]

Сколько сионистов собралось в одной ветке


 
Marser ©   (2006-07-21 00:00) [76]

> [74] tesseract ©   (20.07.06 22:01)
> > [52] Игорь Шевченко ©   (19.07.06 10:45)
>
>
> "Приключения капитана Врунгеля" aka Буриданов осёл для незнакомых
> с философией

Я, кстати, об этом понятии узнал не из философии, а из "Воскресенья" Толстого и примечаний к нему.


 
Slym ©   (2006-07-21 05:26) [77]

Nic ©   (20.07.06 12:27) [63]
А если в проекте будет больше сотни форм?

В топку такой проект... Дробить на отдельные проекты и делать группу проектов... Меня немного корёжит когда вижу thebat.exe размером в 11.5Мб


 
vidiv ©   (2006-07-21 09:47) [78]


> Это нормально
> Как мне кажется, многие профессионально пишущие программисты,
>  пользуются префиксной системой.
>
> lbx - ListBox
> cbx - CheckBox
> ed - Edit
> fm - Forma
> frm - Frame
> и тд.

мне подуше делать приставки в зависимости от назначения:
ed.. - для едитов, мемов, комбов, чекбоксов и пр.
lb.. - для некоторых лабелов, значение которох меняется в runtime
bt - для кнопок
-
u - для юнитов
frm - для форм и фреймов (вторые использую очень редко)
остальне панель, лабелы оставляю как есть, или вообще name стираю


 
Lamer@fools.ua ©   (2006-07-21 09:51) [79]

>>Slym ©   (21.07.06 05:26) [77]

>Меня немного корёжит когда вижу thebat.exe размером в 11.5Мб
От winword.exe размером ~10 MB не корёжит?


 
Игорь Шевченко ©   (2006-07-21 10:36) [80]

Slym ©   (21.07.06 05:26) [77]


> В топку такой проект... Дробить на отдельные проекты и делать
> группу проектов...


Ты это заказчику расскажи - как ему будет кульно и рульно работать с отдельными проектами. Он тебя поймет, может, и денег заплатит.

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


> Меня немного корёжит когда вижу thebat.exe размером в 11.
> 5Мб


То есть, какой нибудь IBExpert в 13 мегабайт у тебя вызовет еще больше эмоций ?



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

Текущий архив: 2006.08.20;
Скачать: CL | DM;

Наверх




Память: 0.65 MB
Время: 0.044 c
5-1127570241
bneuro
2005-09-24 17:57
2006.08.20
Помещение в DLL своего компонента


15-1153387859
Nic
2006-07-20 13:30
2006.08.20
Органайзеры, планировщики


2-1154495419
SerJaNT
2006-08-02 09:10
2006.08.20
Эффект 3D - кнопки


15-1153430789
Батя
2006-07-21 01:26
2006.08.20
Слова Благодарности


15-1153567300
Николай из Москвы
2006-07-22 15:21
2006.08.20
Продается компьютер