Какой же все-таки naming convention у C++?
От: Takadam  
Дата: 22.06.15 08:42
Оценка: -6 :)
Нигде нет четкого ответа. Какой самый распространенный? Только не говорите: используй такой, как проекте. Вот такой популярный?

namespace myNamespace {
  class MyClass {
    public:
    void myMethod() {   // или my_method() лучше? 

      int myVar1 // или лучше my_var1 ?
  }

}



Насчет скобочек я знаю, что они должны быть на новой строке, но, это единственное, что мне удобнее делать по-своему.
Re: Какой же все-таки naming convention у C++?
От: placement_new  
Дата: 22.06.15 08:44
Оценка:
Здравствуйте, Takadam, Вы писали:

T>Нигде нет четкого ответа. Какой самый распространенный? Только не говорите: используй такой, как проекте. Вот такой популярный?


в плюсовых проектах чаще встречается camel конвенция.
Отредактировано 22.06.2015 8:45 placement_new . Предыдущая версия .
Re[2]: Какой же все-таки naming convention у C++?
От: uzhas Ниоткуда  
Дата: 22.06.15 08:58
Оценка:
Здравствуйте, placement_new, Вы писали:

_>в плюсовых проектах чаще встречается camel конвенция.

ты имел в виду lower_case ?
camelCasing описан здесь: https://en.wikipedia.org/wiki/CamelCase
Re: Какой же все-таки naming convention у C++?
От: uzhas Ниоткуда  
Дата: 22.06.15 09:03
Оценка:
Здравствуйте, Takadam, Вы писали:

T>Нигде нет четкого ответа.

думаешь здесь получить? наивно полагаешь, т.к. нужны средства для сбора статистики.
рекомендую погуглить в первую очередь: http://stackoverflow.com/questions/3706379/what-is-a-good-naming-convention-for-vars-methods-etc-in-c
boost и STL придерживаются lower_case конвенции
в разных компаниях придерживаются разных стилей. у нас в компании PascalCasing используется
Re: Какой же все-таки naming convention у C++?
От: Went  
Дата: 22.06.15 09:07
Оценка:
Здравствуйте, Takadam, Вы писали:
T>Нигде нет четкого ответа. Какой самый распространенный?
У меня такой:
namespace my_namespace {

class MyClass 
{
public:
  void my_method();

  Int my_public_var;

protected:
  Int m_my_private_var;
}

} // my_namespace


Достаточно удобно: типы с большой (стандартные переопределены), переменные через подчеркивание, закрытые члены с m_ (чтобы не конфликтовать с геттерами-сеттерами), макросы большими буквами. Но конфликт со стандартной библиотекой неслабо отравляет жизнь. Поэтому если бы писал что-то с нуля, то взял бы готовый boost-stl стиль и не мудорствовал.
Re: Какой же все-таки naming convention у C++?
От: Igore Россия  
Дата: 22.06.15 09:26
Оценка: 1 (1)
Здравствуйте, Takadam, Вы писали:

T>Нигде нет четкого ответа. Какой самый распространенный? Только не говорите: используй такой, как проекте. Вот такой популярный?

Так его и нету, все зависит от проекта, можно посмотреть популярные библиотеки и увидеть что между ними тоже разница.
namespace my_namespace { //boost, xercesc и т.д. - lower case, тут вроде разночтений нет
class MyClass { // Qt, в boost, stl - my_class
public:
    void myMethod() // Qt, в boost и stl my_method
    int myVar // или лучше my_var1 ?
//а тут кто во что горазд, myVar_, m_myVar, _myVar, если просто myVar методы должны быть с большой
  }
}
Re: Какой же все-таки naming convention у C++?
От: jazzer Россия Skype: enerjazzer
Дата: 22.06.15 09:36
Оценка: +1
Здравствуйте, Takadam, Вы писали:

T>Нигде нет четкого ответа.


Ну если аргументировать, то в Стандарте есть стандартная же библиотека, в которой всё маленькими буквами с подчеркиваниями.

Остальное все варианты — вкусовщина и холивары
jazzer (Skype: enerjazzer) Ночная тема для RSDN
Автор: jazzer
Дата: 26.11.09

You will always get what you always got
  If you always do  what you always did
Re: Какой же все-таки naming convention у C++?
От: landerhigh Пират  
Дата: 22.06.15 12:07
Оценка: +7
Здравствуйте, Takadam, Вы писали:

T>Нигде нет четкого ответа. Какой самый распространенный? Только не говорите: используй такой, как проекте. Вот такой популярный?


Самый лучший code convention — это тот, который соблюдается во всем проекте.
А уж какой он именно — дело десятое.
www.blinnov.com
Re: Какой же все-таки naming convention у C++?
От: Pavel Dvorkin Россия  
Дата: 22.06.15 17:52
Оценка: +2
Здравствуйте, Takadam, Вы писали:

T>Нигде нет четкого ответа. Какой самый распространенный? Только не говорите: используй такой, как проекте. Вот такой популярный?


1. Если используется только стандартная библиотека C/C++ — следуй ее правилам
2. Если используется что-то еще (Win API, MFC, Qt, BCB++, ...) — следуй его правилам.

Аргументация :

Если (1) — значит, ты претендуешь (хотя бы в принципе, не обязательно в действительности) на платформонезависимость, то есть пишешь именно на C/C++. В этом случае лучше не использовать naming conventions чего-то еще.
Если (2) — значит, переносимость имеет место только в рамках этого фреймворка (для Win API/MFC никакая, для Qt — в пределах Qt и т.д.). В этом случае ты пишешь фактически для этого фреймворка на С++, следуй правилам фреймворка.
With best regards
Pavel Dvorkin
Отредактировано 22.06.2015 18:40 Pavel Dvorkin . Предыдущая версия .
Re: Какой же все-таки naming convention у C++?
От: velkin Удмуртия https://kisa.biz
Дата: 23.06.15 10:21
Оценка: 1 (1)
Здравствуйте, Takadam, Вы писали:

T>Нигде нет четкого ответа. Какой самый распространенный? Только не говорите: используй такой, как проекте. Вот такой популярный?


Если совсем не знаешь какой стиль именования использовать, посмотри как сделан Boost. По мне так там отличный стиль для любого проекта, в том числе и на Qt.

P.S. Ещё рекомендую использовать автоматическое форматирование кода:

ТОП лучших инструментов C++

Artistic Style
Тип: Автоматическое форматирование кода
Платформа: кросс-платформенное
Лицензия: LGPL
Вебсайт: http://astyle.sourceforge.net

В коллективном проекте код должен выглядеть так, как будь-то его написал один человек. Да и просто из банальной лени дотошно форматировать свой код попросту не охота. А так же чтобы обзоры кода не превращались в обзоры стиля кода, придуман этот инструмент. Возможности его форматирования превышают возможности редактора интегрированной среды разработки, и тем не менее он простой. Рекомендую так же установить universalindentgui, а уже через неё использовать эту или может быть даже другие подобные программы.

Отредактировано 23.06.2015 10:26 velkin . Предыдущая версия .
Re[2]: Какой же все-таки naming convention у C++?
От: Zenden Россия  
Дата: 29.06.15 19:54
Оценка:
Здравствуйте, Pavel Dvorkin, Вы писали:

PD>Здравствуйте, Takadam, Вы писали:


T>>Нигде нет четкого ответа. Какой самый распространенный? Только не говорите: используй такой, как проекте. Вот такой популярный?


PD>1. Если используется только стандартная библиотека C/C++ — следуй ее правилам

PD>2. Если используется что-то еще (Win API, MFC, Qt, BCB++, ...) — следуй его правилам.

А если и то и другое?
У меня в проекте ядро на стандартной библиотеке, гуи на WTL и Qt
Представляете какая у меня каша из naming conventions?
Отредактировано 29.06.2015 19:56 Zenden . Предыдущая версия .
Re: Какой же все-таки naming convention у C++?
От: andy. __
Дата: 29.06.15 20:33
Оценка:
Здравствуйте, Takadam, Вы писали:

Выбери сам
к примеру
https://google-styleguide.googlecode.com/svn/trunk/cppguide.html#General_Naming_Rules



T>Нигде нет четкого ответа. Какой самый распространенный? Только не говорите: используй такой, как проекте. Вот такой популярный?


T>
T>namespace myNamespace {
T>  class MyClass {
T>    public:
T>    void myMethod() {   // или my_method() лучше? 

T>      int myVar1 // или лучше my_var1 ?
T>  }

T>}
T>



T>Насчет скобочек я знаю, что они должны быть на новой строке, но, это единственное, что мне удобнее делать по-своему.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.