Размер шрифта:
Ваш любимый стиль наименования в С. Философия программирования - RSDN

Ваш любимый стиль наименования в С. Философия программирования - RSDN

Без кейворда

Здравствуйте, magesto, Вы писали: M>Как вы именуете классы, методы, члены классов, пространства имён в своём коде и почему? Как пишете имя класса: MyClass, CMyClass, myClass, My_Class, my_class? Имя метода: DoFunc, doFunc, Do_Func, do_func, Func, func? Как в таком случае пишете имена переменных. Выделяете ли каким либо образом члены классов, типа m_member, _member, member_ или ваш вариант? И, самое главное, почему именно так? Какие преимущества даёт вам этот стиль?

Имена классов MyClass, интерфейса IMyClass. Функция член doFunc, глобальная функция do_func, вызов WinApi функции ::<имя_функции>. Члены классов m_member, без указания типа. Глобальная константа kConst.

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

От: Андрей Коростелев http://www.korostelev.net/ Дата: 18.02.06 12:00 Оценка:

Здравствуйте, magesto, Вы писали: M>Как вы именуете классы, методы, члены классов, пространства имён в своём коде и почему? Как пишете имя класса: MyClass, CMyClass, myClass, My_Class, my_class? Имя метода: DoFunc, doFunc, Do_Func, do_func, Func, func? Как в таком случае пишете имена переменных. Выделяете ли каким либо образом члены классов, типа m_member, _member, member_ или ваш вариант? И, самое главное, почему именно так? Какие преимущества даёт вам этот стиль?

Как правило, система именования в той или иной степени определяется на корпоративном уровне, ей лучше и следовать.

Стилей же много, например тут можешь посмотреть один из примеров. Для "своих" проектов, к именованию тоже следует подходить избирательно, слепое апологетство тут вредно. Например, та же венгерская нотация с ее включением типа переменной в ее имя не очень стыкуется с ООП из-за наличия в нем такого явления, как полиморфизм объектов, что особенно проявляется в динамически-типизированных языках.

От: Mamut http://dmitriid.com Дата: 18.02.06 12:46 Оценка: 1 (1)

M>Как вы именуете классы, методы, члены классов, пространства имён в своём коде и почему? Как пишете имя класса: MyClass, CMyClass, myClass, My_Class, my_class? Имя метода: DoFunc, doFunc, Do_Func, do_func, Func, func? Как в таком случае пишете имена переменных. Выделяете ли каким либо образом члены классов, типа m_member, _member, member_ или ваш вариант? И, самое главное, почему именно так? Какие преимущества даёт вам этот стиль?

в примере PrinterManager может стать и PrinterManagerClass, хотя я не люблю так писать Для всего, кроме названий классов использую lowerCamelCase.

Преимущества. lowerCamelCase — нет необходимости нажимать Shift + Underscore для получения подчеркиваний в именах. А так как в С++ нельзя, как в Паскале-подобных языках писать вызов процедуры без скобок, то переменные и функции, хоть и написанные одинаковым стилем, легко различаются и выделяются в тексте. Соответственно, благодаря такому стилю одно-двухбуквенные локальные переменные и переменные в циклах так и отсаются lower-case.

PascalCase для имен классов позволяет визуально зацепиться за вызов конструкторов, да и просто визуально удобно. Благодаря этому мне и слово Class в названии не нужно — и так видно, что это класс

Приватные члены классов начинаю с подчеркивания, потому что удобно для Интеллисенса, да и в конструкторах удобно:

От: StatujaLeha на правах ИМХО Дата: 18.02.06 14:03 Оценка:

Здравствуйте, Mamut, Вы писали: M>Приватные члены классов начинаю с подчеркивания, потому что удобно для Интеллисенса, да и в конструкторах удобно: M>

тоже хочу использовать похожий стиль наименования членов-данных класса, но только с маленьким нюансом: _OpenMember — для открытых,m_PrivateMember — для закрытых и защищенных. Отпугивает пока рекомендация стандарта не давать имен, начинающихся с "_". А Вы не сталкивались с проблемами при использовании имен, начинающихся с "_"?

От: Odi$$ey http://malgarr.blogspot.com/ Дата: 18.02.06 15:27 Оценка:

Здравствуйте, StatujaLeha, Вы писали: SL>А Вы не сталкивались с проблемами при использовании имен, начинающихся с "_"?

От: _Skywalker Дата: 19.02.06 17:44 Оценка:

Т.е. никаких подчеркиваний, никаких венгерских нотаций. Использую camel, модификатор доступа пишу возле каждого метода и поля. Свойства (поле + get/set) генерирую через VA, каждое свойство обрамляется через #pragma region.

От: Chiрset http://merlinko.com Дата: 19.02.06 19:53 Оценка:

Здравствуйте, magesto, Вы писали: M>Как вы именуете классы, методы, члены классов, пространства имён в своём коде и почему? Как пишете имя класса: MyClass, CMyClass, myClass, My_Class, my_class? Имя метода: DoFunc, doFunc, Do_Func, do_func, Func, func? Как в таком случае пишете имена переменных. Выделяете ли каким либо образом члены классов, типа m_member, _member, member_ или ваш вариант? И, самое главное, почему именно так? Какие преимущества даёт вам этот стиль?

Вот пример файла.

От: alex_ez alex.jife.ru Дата: 20.02.06 04:00 Оценка:

Здравствуйте, magesto, Вы писали: M>Как вы именуете классы, методы, члены классов, пространства имён в своём коде и почему? Как пишете имя класса: MyClass, CMyClass, myClass, My_Class, my_class? Имя метода: DoFunc, doFunc, Do_Func, do_func, Func, func? Как в таком случае пишете имена переменных. Выделяете ли каким либо образом члены классов, типа m_member, _member, member_ или ваш вариант? И, самое главное, почему именно так? Какие преимущества даёт вам этот стиль?

[class,struct,union] MYclass ;

От: Ligen http://zone-of-ambiguity.blogspot.com/ Дата: 20.02.06 16:51 Оценка:

M>Как вы именуете классы, методы, члены классов, пространства имён в своём коде и почему? Как пишете имя класса: MyClass, CMyClass, myClass, My_Class, my_class? Имя метода: DoFunc, doFunc, Do_Func, do_func, Func, func? Как в таком случае пишете имена переменных. Выделяете ли каким либо образом члены классов, типа m_member, _member, member_ или ваш вариант? И, самое главное, почему именно так? Какие преимущества даёт вам этот стиль?

1. CMyClass, IMyClass 2. DoSomething 3. венгерская + m_, g_, s_ ; m_dwBufferSize; 4. GetMyProperty, SetMyProperty

Привычка + упрощает чтение кода, разбор легче чем LL(1) =)))

От: Владек Github Дата: 21.02.06 17:06 Оценка: +1

Здравствуйте, magesto, Вы писали: M>Как вы именуете классы, методы, члены классов, пространства имён в своём коде и почему? Как пишете имя класса: MyClass, CMyClass, myClass, My_Class, my_class? Имя метода: DoFunc, doFunc, Do_Func, do_func, Func, func? Как в таком случае пишете имена переменных. Выделяете ли каким либо образом члены классов, типа m_member, _member, member_ или ваш вариант? И, самое главное, почему именно так? Какие преимущества даёт вам этот стиль?

Преимуществ никаких. Я не против других стилей написания кода, главное — чтобы использовались они повсеместно.

От: Mamut http://dmitriid.com Дата: 22.02.06 07:37 Оценка: От: av Дата: 23.02.06 22:31 Оценка:

M>Как вы именуете классы, методы, члены классов, пространства имён в своём коде и почему? Как пишете имя класса: MyClass, CMyClass, myClass, My_Class, my_class? Имя метода: DoFunc, doFunc, Do_Func, do_func, Func, func? Как в таком случае пишете имена переменных. Выделяете ли каким либо образом члены классов, типа m_member, _member, member_ или ваш вариант? И, самое главное, почему именно так? Какие преимущества даёт вам этот стиль?

Namespaces: MyNamespace. Классы: MyClass. Методы: myMethod(). Поля: _myField.

Глобальные переменные и функции не использую или запихиваю в какой-нибудь namespace, где они не мешают. Называю так же, как и методы.

Подчеркивания в именах полей пишу, потому что не люблю префикс get в именах методов. Таким образом получается нечто вроде такого:

📎📎📎📎📎📎📎📎📎📎