![]() |
Здравствуйте, гость ( Вход | Регистрация )
![]() |
trdm |
![]()
Сообщение
#1
|
Дмитрий Трошин ![]() ![]() ![]() ![]() Группа: Участник Сообщений: 575 Регистрация: 12.1.2008 Пользователь №: 68 Спасибо сказали: 21 раз(а) Репутация: ![]() ![]() ![]() |
|
|
|
![]() |
igorenja |
![]()
Сообщение
#2
|
Студент ![]() Группа: Участник Сообщений: 22 Регистрация: 18.1.2010 Пользователь №: 1384 Спасибо сказали: 1 раз(а) Репутация: ![]() ![]() ![]() |
Спасибо большое тупанул по чёрному (плюсы тока изучаю). а классы с приставкой "T" это привет из дельфы? Привет это из C++Builder`a, но в дельфе по-моему тоже самое... Что эта приставка означает? "Т" я так понимаю это сокращение от Type. Я использую для однозначного понимания что есть тип и что есть объект этого типа... ПС. Терпеть не могу когда так классы зовут... пишу для себя, мне так понятнее |
|
|
Litkevich Yuriy |
![]()
Сообщение
#3
|
![]() разработчик РЭА ![]() ![]() ![]() ![]() ![]() ![]() ![]() Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: ![]() ![]() ![]() |
"Т" я так понимаю это сокращение от Type. Я использую для однозначного понимания что есть тип и что есть объект этого типа... В Qt принято довольно простое соглашение об именовании:Имена классов (типов) всегда записываются с большой буквы Имена переменных (объекты тоже переменные) и функций всегда с маленькой. Все имена имеют форму "CamelCase", т.е. каждое слово начинается с большой буквы (для первой буквы смотри правила выше) П.С. на практике оказалось очень удобным П.П.С. Ещё можно почитать здесь, имеется перевод на русский язык |
|
|
Rocky |
![]()
Сообщение
#4
|
Старейший участник ![]() ![]() ![]() ![]() Группа: Участник Сообщений: 530 Регистрация: 22.12.2008 Из: Санкт-Петербург Пользователь №: 463 Спасибо сказали: 22 раз(а) Репутация: ![]() ![]() ![]() |
Я вот классы всегда называю с большой буквы С. Потому что qt-ные начинаются с Q. Хотя может это последний пережиток, оставшийся у меня после MFC.
T - если struct. E - если enum. Да и вообще igorenja если только начинаете С++ изучать есть такая Венегрская нотация. Советую почитать. |
|
|
Litkevich Yuriy |
![]()
Сообщение
#5
|
![]() разработчик РЭА ![]() ![]() ![]() ![]() ![]() ![]() ![]() Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: ![]() ![]() ![]() |
|
|
|
SABROG |
![]()
Сообщение
#6
|
![]() Профессионал ![]() ![]() ![]() ![]() ![]() Группа: Участник Сообщений: 1207 Регистрация: 8.12.2008 Из: Russia, Moscow Пользователь №: 446 Спасибо сказали: 229 раз(а) Репутация: ![]() ![]() ![]() |
есть такая Венегрская нотация. Советую почитать. категорически не советую это читать. Венгерская нотация - то как не надо делать.Сам Bjarne Stroustrup в FAQ'e по C++ не советует её использовать. В этом плане меня очень расстроил исходный код в последней книге Макса Шлее. Он повсеместно использует эту нотацию и в результате его код сложно читать. Кроме того венгерская нотация мне самому создавала трудности с переменными. Т.к. название типа как бы дублируется в имени переменной, то при смене типа переменной приходилось её тоже переименовывать и искать места во всех исходниках, где она могла бы употребляться. На тот момент небыло фичи QtCreator'a, чтобы переименовывать один раз и оно бы затрагивало все исходники. |
|
|
AD |
![]()
Сообщение
#7
|
Профессионал ![]() ![]() ![]() ![]() ![]() Группа: Участник Сообщений: 2003 Регистрация: 4.2.2008 Из: S-Petersburg Пользователь №: 84 Спасибо сказали: 70 раз(а) Репутация: ![]() ![]() ![]() |
Мне тоже не нравится венгерская нотация. Кстати к ее именованию во время пользования MFC, практически, так и не привык. А вот к Qt-шным правилам именования привык быстро. Правда, вот хотел спросить, нормальны ли следующие имена функций:
Цитата takeLoader ?indexDirectory isDirListEmpty addChartNameToList Все время имеется чувство, что названия чересчур длинные или же не очень удачные... Для меня с названиями - беда просто. В 8-10 символов название функций удается поместить крайне редко. |
|
|
Litkevich Yuriy |
![]()
Сообщение
#8
|
![]() разработчик РЭА ![]() ![]() ![]() ![]() ![]() ![]() ![]() Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: ![]() ![]() ![]() |
В 8-10 символов название функций удается поместить крайне редко. В данный момент я склоняюсь к тому, что не нужно жёстко определять длину имени. Хотя краткое удобнее. Я пишу код в программерском блокноте, автодополнения нет. Поэтому мне важно чтобы названия были легко вспоминаемые. И интуитивные.Немного свыкнувшись со словами используемыми в Qt, можно ожидать определённое название. Например, по твоим названиям что я ожидаю: takeLoader - берёт какой-то загрузчик, вынимая его из чего-то, т.е. его потом нужно будет удалять вручную или куда-то вставить, чтоды удалился сам indexDirectory - непонятно, что это такое, какой индекс каталога isDirListEmpty - "список каталогов пуст?", по моему избыточное название addChartNameToList - "добавить имя диаграммы в список", по моему избыточное название Если не знать название класса то сложно сказать точное значение. А по поводу двух последних похоже что в имени функции имеется дубль имени класса |
|
|
Rocky |
![]()
Сообщение
#9
|
Старейший участник ![]() ![]() ![]() ![]() Группа: Участник Сообщений: 530 Регистрация: 22.12.2008 Из: Санкт-Петербург Пользователь №: 463 Спасибо сказали: 22 раз(а) Репутация: ![]() ![]() ![]() |
Я другого мнения =). Изменил тип - ctrl+shift+h и заменил все имена на нужные, делов на пол-секунды. Но спорить смысла нет, кому как удобнее. в qt разработчики вообще одной буквой обозначают переменные. Мне например неясно какого типа переменная "o" и т. п. Ладно, это все лирика =)
А... топик оказывается в трепе и есть =)))) Сообщение отредактировал Rocky - 4.2.2010, 19:15 |
|
|
AD |
![]()
Сообщение
#10
|
Профессионал ![]() ![]() ![]() ![]() ![]() Группа: Участник Сообщений: 2003 Регистрация: 4.2.2008 Из: S-Petersburg Пользователь №: 84 Спасибо сказали: 70 раз(а) Репутация: ![]() ![]() ![]() |
Например, по твоим названиям что я ожидаю: takeLoader - берёт какой-то загрузчик, вынимая его из чего-то, т.е. его потом нужно будет удалять вручную или куда-то вставить, чтоды удалился сам indexDirectory - непонятно, что это такое, какой индекс каталога isDirListEmpty - "список каталогов пуст?", по моему избыточное название addChartNameToList - "добавить имя диаграммы в список", по моему избыточное название Если не знать название класса то сложно сказать точное значение. А по поводу двух последних похоже что в имени функции имеется дубль имени класса Да я понимаю, что некоторые названия не сократить. ![]() ![]() Да.... Название класса - BaseLoader. P.S. Юра, спасибо за критический разбор и отклик. Буду очень благодарен за дальнейшее обсуждение. Поправить кривые название - большая польза! Сообщение отредактировал AD - 4.2.2010, 19:48 |
|
|
Litkevich Yuriy |
![]()
Сообщение
#11
|
![]() разработчик РЭА ![]() ![]() ![]() ![]() ![]() ![]() ![]() Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: ![]() ![]() ![]() |
в qt разработчики вообще одной буквой обозначают переменные. Мне например неясно какого типа переменная "o" так поступают, когда какую-то переменную нужно часто использовать, соответственно хотят сократить кол-во нажимаемых клавиш на клавиатуре. И так как не зная смысла переменной, а не только её типа, её не получится использовать. По этому посмотреть на то как она объявлена и инициализирована становится необходимостью. Т.е. одно только знание о типе переменной мало чего даёт.Но спорить смысла нет, кому как удобнее. спорить действительно смысла нет, т.к. спор - удел баранов. А вот по обсуждать полезно. Если бы существовал для языка Си++ идеальный вариант именования, то все остальные уже были бы забыты.Дело в том, что в классе, где есть функция isDirListEmpty, isEmpty уже есть и относится к другому списку (в классе их два). ябы их логически разделил. Например, в классе объявил тип DirList
сделал бы функцию возвращающую DirList, например, dirList(), а у списка бы спрашивал пуст он или нет, например так:
|
|
|
Iron Bug |
![]()
Сообщение
#12
|
![]() Профессионал ![]() ![]() ![]() ![]() ![]() Группа: Модератор Сообщений: 1611 Регистрация: 6.2.2009 Из: Yekaterinburg Пользователь №: 533 Спасибо сказали: 219 раз(а) Репутация: ![]() ![]() ![]() |
не пойму смысла спора.
маленькие-большие имена... остроконечники и тупоконечники ![]() по моему личному опыту, это всё зависит от проекта (его объёма и количества людей, которые имеют дело с кодом) венгерская нотация иногда мозолит глаза, но вот в совершенно чужом коде иногда помогает сориентироваться. нет смысла совать её в проекты меньше трёх-пяти файлов исходников. нет смысла пихать её при написании драйверов. но вот когда проект растёт вширь и ввысь, так сказать... иногда можно поступиться удобством печати ради более читабельного кода. каждый программист вырабатывает свой удобный ему стиль, но при работе в команде обычно есть требования. читала даже книженцию умную теоретическую насчёт оптимальности. автора не помню(вспомню - напишу), но его рекомендации у нас в компании есть почти у каждого программиста в виде распечаток.там речь не идёт о венгерской нотации, а просто о правилах именования внутренних и глобальных переменных, функций, макросов и т.п. в зависимости от их назначения и модулей, в которых они находятся. очень удобная система, я отчасти её использую. почему отчасти - потому что иногда имеет смвсл делать исключения ради удобства. |
|
|
AD |
![]()
Сообщение
#13
|
Профессионал ![]() ![]() ![]() ![]() ![]() Группа: Участник Сообщений: 2003 Регистрация: 4.2.2008 Из: S-Petersburg Пользователь №: 84 Спасибо сказали: 70 раз(а) Репутация: ![]() ![]() ![]() |
не пойму смысла спора. маленькие-большие имена... остроконечники и тупоконечники ![]() Так вроде бы и спора особого уже и нет. Конечно, главное, чтобы потом был понятен код - остальное неважно. Но вот лично мне интересно научиться более правильному именованию, так что-ли сказать. |
|
|
Iron Bug |
![]()
Сообщение
#14
|
![]() Профессионал ![]() ![]() ![]() ![]() ![]() Группа: Модератор Сообщений: 1611 Регистрация: 6.2.2009 Из: Yekaterinburg Пользователь №: 533 Спасибо сказали: 219 раз(а) Репутация: ![]() ![]() ![]() |
я думаю, что нет "абсолютно правильного метода" именования сущностей в программировании.
тут можно, к примеру, до усрачки читать про войны кернела и гну ![]() я видела опытных программистов, практикующих совершенно разные стили. не могу сказать, что какой-то из них был особо хорош или особо плох. в конце концов, это дело привычки и личных предпочтений. когда есть командная разработка - тогда стиль кода важен и имеет смысл перенимать стиль той области программирования, в среде разработчиков которой вы будете крутиться. ну и вырабатывать свои привычки и предпочтения. |
|
|
![]() ![]() |
![]() |
|
Текстовая версия | Сейчас: 26.5.2025, 5:29 |