Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
Форум программистов > C/C++: Общие вопросы > Названия классов и типов |
Автор: Piphon 20.10.2010, 12:01 | ||||
В проекте принята примерно такой стандарт именования классов и типов:
а в других местах используются типы являющиеся "умными" ссылками на них (В голову сразу лезут boost::shared_ptr и boost::weak_ptr). Писать код вроде этого:
устанешь, да и с моей точки зрения в объявлениях членов классов это выглядит не слишком красиво(особенно если используются вложенные пространства имен). Вот тут на помощь приходит typedef. Все бы хорошо, но встает вопрос как именовать эти типы:
P.S. Если в орфографии ошибки, перевод с языка ??? прошел не много не удачно. |
Автор: Леопольд 20.10.2010, 12:06 | ||
|
Автор: azesmcar 20.10.2010, 12:10 | ||
Какая разница как называть? главное, чтобы понятно было читающему и придерживаться одного стиля (хотя бы в рамках одного проекта). Я предпочитаю так
|
Автор: djamshud 20.10.2010, 12:24 | ||
Мой код-стайл:
|
Автор: Sartorius 20.10.2010, 12:54 |
Piphon, почитай "Чистый Код" Роберта Мартина. ИМХО там довольно толково описано как выбирать идентификаторы и почему не нужно использовать префиксы вроде венгерской нотации. |
Автор: Piphon 20.10.2010, 13:31 |
Леопольд, да это дело вкуса, но зато есть из чего выбирать ![]() Sartorius, единственное место где я использую венгерскую нотацию это интерфейсы в PHP и C#, или полностью(не помню точно как они называются) виртуальные классы C++. А книгу еще не встречал, на досуге надо будет почитать. |
Автор: EgorTheBlade 20.10.2010, 13:34 |
AClassName абстрактный класс В МFC писал CClassName; еще существуют приставки с названием проектов Например проект для медицины: medClassName; В целом это дело вкуса - главное правило чтобы код написаный вами смогли правильно прочитать и понять другие люди. |
Автор: Леопольд 20.10.2010, 14:27 |
NamespaceName $AbstractType ConcreteType m_dataField functionName m_privateDataField_ m_protectedDataField_ privateFunctionName_ protectedFunctionName_ aVarible |
Автор: mes 20.10.2010, 14:35 |
что в данном случае означает доллар ? |
Автор: Леопольд 20.10.2010, 14:38 |
Просто ANSI символ, g++ компиляет без проблем, студия, вроде, тоже нормально "проглатывала". Пытаюсь найти в стандарте 2003 допустимые символы в именах С++, пока не нашёл... |
Автор: mes 20.10.2010, 14:43 | ||||
![]() |
Автор: Леопольд 20.10.2010, 14:47 |
mes, увы... ![]() Тогда NamespaceName IAbstractType ConcreteType m_dataField functionName m_privateDataField_ m_protectedDataField_ privateFunctionName_ protectedFunctionName_ aVarible |
Автор: mes 20.10.2010, 14:52 | ||
http://www.opennet.ru/docs/RUS/gcc/gcc1-4.html#ss4.25 |