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