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

Вниз

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

 
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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.63 MB
Время: 0.043 c
3-1150448620
sid_m
2006-06-16 13:03
2006.08.20
Удаленный вызов хранимой процедуры


1-1152485956
Zonul
2006-07-10 02:59
2006.08.20
Вызов dll


15-1153778510
Alert2006
2006-07-25 02:01
2006.08.20
Подскажите компонент


2-1154157528
Visore
2006-07-29 11:18
2006.08.20
Выделение


2-1154421462
Nikss
2006-08-01 12:37
2006.08.20
.Net





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский