Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 05.04.2009, 15:47   #1
("")(Э_Є)("")
Форумчанин
 
Регистрация: 26.01.2009
Сообщений: 112
По умолчанию Традиции именования.

Большие буквы - макрос.
подчеркивания перед именем (_имя) - тупадеф.
подчеркивание перед подчеркиванием, которое перед именем (__имя) - тупадеф тупадефа.
Имена директорий с маленькой буквы.
Имена файлов - с большой.

API int APIENTRY F(); - страшные проклятия кроссплатформеров.

Я правильно понял ?
("")(Э_Є)("") вне форума Ответить с цитированием
Старый 05.04.2009, 16:34   #2
pu4koff
Старожил
 
Аватар для pu4koff
 
Регистрация: 22.05.2007
Сообщений: 9,065
По умолчанию

Цитата:
Сообщение от ("")(Э_Є)("") Посмотреть сообщение
Большие буквы - макрос.
Да. Рекомендуется все #define называть заглавными буквами
Цитата:
Сообщение от ("")(Э_Є)("") Посмотреть сообщение
подчеркивания перед именем (_имя) - тупадеф.
подчеркивание перед подчеркиванием, которое перед именем (__имя) - тупадеф тупадефа.
Вроде наоборот typedef и #define применяют, чтобы "убрать" подчеркивание. А подчеркивание это чтобы видимо не путаться что где используется.
Цитата:
Сообщение от ("")(Э_Є)("") Посмотреть сообщение
Имена директорий с маленькой буквы.
Имена файлов - с большой.
Это вообще не принципиально вроде в программировании
Цитата:
Сообщение от ("")(Э_Є)("") Посмотреть сообщение
API int APIENTRY F(); - страшные проклятия кроссплатформеров.
Почему сразу страшные и проклятия? Обычные макросы, возможно кому-то облегчающие жизнь, но лично мне просто не мешающие. Вдруг в винде 7 изменится соглашение о вызове АПИ-функций, тогда в одном месте просто добавить проверку версии винды и нужное значение в макрос API подсунуть. Это, на мой взгляд, лучше, чем лазить по коду и ручками править везьде.
В любом случае нет общепринятого соглашения. В MFC классы начинаются с "C" и имя класса с большой буквы. В STL классы без "C" и имена с маленькой буквы. Кто-то члены классов называет просто: int a; Кто-то: int _a; А кому-то нравится: int m_a; (m - это, как я понимаю, от слова member).
В общем если что-то незнакомое встретилось, то лучше правый клик по нему и Go to definition / Перейти к определению, а на подчеркивания и размер букв особо полагаться не стоит
pu4koff вне форума Ответить с цитированием
Старый 05.04.2009, 20:43   #3
("")(Э_Є)("")
Форумчанин
 
Регистрация: 26.01.2009
Сообщений: 112
По умолчанию

Спасибо.

Я просто хочу освоить общепринятый стиль именования

Цитата:
лучше правый клик по нему и Go to definition / Перейти к определению
В VC++ таким образом часто попадаю к тупадефам с _подчеркиванием, которые в свою очередь ведут к двойному подчеркиванию. Зачем - не понятно. Но возможно, что сделано это для создания швов(что-то в роде интерфейса) модулей, что бы части структуры можно было заменять.

STL _keyType _ValueType вроде как тупадефы с подчеркиванием.

Цитата:
Почему сразу страшные и проклятия?
Много писать, сложно читать, макрос, плохо влазит в строку etc.
("")(Э_Є)("") вне форума Ответить с цитированием
Старый 06.04.2009, 18:49   #4
MaTBeu
Eclipse Foundation
Старожил
 
Аватар для MaTBeu
 
Регистрация: 19.09.2007
Сообщений: 2,604
По умолчанию

Код:
#define APIENTRY WINAPI
Код:
#define WINAPI __stdcall
__stdcall - это конвенция вызова функции
Поставьте студию и Visual Assist, он вам все расскажет сразу.
MaTBeu вне форума Ответить с цитированием
Старый 14.04.2009, 09:38   #5
("")(Э_Є)("")
Форумчанин
 
Регистрация: 26.01.2009
Сообщений: 112
По умолчанию

MaTBeu
Такого рода вещи приятней видеть в настройках проекта, по возможности, но кросс платформенные библиотеки иногда имеют макросы во все объявления. Понятно, что для переносимости между IDE, но все равно не приятно. Можно было просто сказать, что я раньше на Делфе программировал - сразу всё становится на свои места

PS. Полезная адонка, спасибо Я вот только не понял как там отмечать строки? В плане, ставить маркер.

Последний раз редактировалось ("")(Э_Є)(""); 14.04.2009 в 09:45.
("")(Э_Є)("") вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц