Про стиль...
От: Shmj Ниоткуда  
Дата: 06.01.23 20:32
Оценка:
Такой вопрос.

Вот, ранее была т.н. Венгерская нотация чуть ли не стандартом. Теперь смотрю — не все ее используют. Вот пример гугла: https://htmlpreview.github.io/?https://github.com/evgenykislov/styleguide/blob/ru_cpp/cppguide.html

Есть ли какой-либо порядок в этом? Что вы используете?
Re: Про стиль...
От: koenjihyakkei Россия  
Дата: 06.01.23 20:57
Оценка: 3 (1) +2
Здравствуйте, Shmj, Вы писали:

> Теперь смотрю — не все ее используют.


Я бы сказал больше — никто ее не использует

Если стиль для нового проекта, то я определенно выберу гугловский стиль.
Возможно после каких-то классических стилей он кажется странным, но имхо он наиболее приятный и выразительный.
Re: Про стиль...
От: σ  
Дата: 06.01.23 21:11
Оценка:
S>Вот, ранее была т.н. Венгерская нотация чуть ли не стандартом. Теперь смотрю — не все ее используют. Вот пример гугла: https://htmlpreview.github.io/?https://github.com/evgenykislov/styleguide/blob/ru_cpp/cppguide.html

А k в начале названий констант и _ в конце имён NSDM-ов — это не венгерская нотация?
Re: Про стиль...
От: B0FEE664  
Дата: 06.01.23 22:51
Оценка: +2
Здравствуйте, Shmj, Вы писали:

S>Вот, ранее была т.н. Венгерская нотация чуть ли не стандартом. Теперь смотрю — не все ее используют.

В современном C++ одна и та же переменная может быть как числом, так и объектом, а объект может быть как смарт указателем, так и функциональным объектом, поэтому венгерская нотация просто неприменима.

S>Есть ли какой-либо порядок в этом? Что вы используете?

Самый разумный стиль, это allman style, но это про выравнивания. Что же касается названий, то главное, чтобы стиль был, а какой — не очень важно.
И каждый день — без права на ошибку...
Re[2]: Про стиль...
От: Shmj Ниоткуда  
Дата: 06.01.23 23:12
Оценка:
Здравствуйте, B0FEE664, Вы писали:

BFE>В современном C++ одна и та же переменная может быть как числом, так и объектом, а объект может быть как смарт указателем, так и функциональным объектом, поэтому венгерская нотация просто неприменима.


А пример можно?
Re: Про стиль...
От: PM  
Дата: 06.01.23 23:15
Оценка:
Здравствуйте, Shmj, Вы писали:

S>Есть ли какой-либо порядок в этом? Что вы используете?


Стиль, который определен в файле .clang-format в корне проекта: https://clang.llvm.org/docs/ClangFormat.html

Для личных проектов Allman style с именованием snake_case
Re: Про стиль...
От: Евгений Музыченко Франция https://software.muzychenko.net/ru
Дата: 08.01.23 11:43
Оценка: :))
Здравствуйте, Shmj, Вы писали:

S>Есть ли какой-либо порядок в этом? Что вы используете?


Я в C++ называю макросы в CamelCase, и мне не стыдно.
Re[2]: Про стиль...
От: edton  
Дата: 08.01.23 12:46
Оценка:
Здравствуйте, koenjihyakkei, Вы писали:

K>Я бы сказал больше — никто ее не использует


Я использую.
Re[2]: Про стиль...
От: rg45 СССР  
Дата: 08.01.23 12:50
Оценка: :))
Здравствуйте, Евгений Музыченко, Вы писали:

ЕМ>Я в C++ называю макросы в CamelCase, и мне не стыдно.


Но ты в курсе, что повод для стыда существует, все-таки
--
Не можешь достичь желаемого — пожелай достигнутого.
Re[3]: Про стиль...
От: Евгений Музыченко Франция https://software.muzychenko.net/ru
Дата: 08.01.23 12:58
Оценка:
Здравствуйте, rg45, Вы писали:

R>Но ты в курсе, что повод для стыда существует, все-таки


Я в курсе, что он исчез примерно тогда, когда стали массово работать в IDE, умеющих в навигацию по коду.
Re[4]: Про стиль...
От: rg45 СССР  
Дата: 08.01.23 13:04
Оценка:
Здравствуйте, Евгений Музыченко, Вы писали:

ЕМ>Я в курсе, что он исчез примерно тогда, когда стали массово работать в IDE, умеющих в навигацию по коду.


Тогда что такого героического в том, что тебе не стыдно, если даже повод для стыда исчез, как ты утверждаешь?
--
Не можешь достичь желаемого — пожелай достигнутого.
Re[5]: Про стиль...
От: Евгений Музыченко Франция https://software.muzychenko.net/ru
Дата: 08.01.23 13:23
Оценка:
Здравствуйте, rg45, Вы писали:

R>Тогда что такого героического в том, что тебе не стыдно


Тут речь не о героизме — просто об осознании того, что скрепы должны быть разумными. А то ведь чуть не в каждом втором современном руководстве по C/C++ подчеркивается, что все макросы должны быть uppercase.
Re[6]: Про стиль...
От: rg45 СССР  
Дата: 08.01.23 14:55
Оценка:
Здравствуйте, Евгений Музыченко, Вы писали:

ЕМ>Тут речь не о героизме — просто об осознании того, что скрепы должны быть разумными. А то ведь чуть не в каждом втором современном руководстве по C/C++ подчеркивается, что все макросы должны быть uppercase.


А еще "чуть не в каждом втором современном руководстве по C/C++" объясняется, почему следует стремиться минимизировать применение макросов. И как раз для того, чтобы добиться этой минимизации и рекомендуется писать макросы в uppercase. Но, как я догадываюсь, на первую рекомендацию ты забил так же, как и на вторую. А возможно, еще и гордишься этим. Да?
--
Не можешь достичь желаемого — пожелай достигнутого.
Отредактировано 08.01.2023 14:58 rg45 . Предыдущая версия . Еще …
Отредактировано 08.01.2023 14:57 rg45 . Предыдущая версия .
Re[7]: Про стиль...
От: Евгений Музыченко Франция https://software.muzychenko.net/ru
Дата: 08.01.23 16:08
Оценка: :)
Здравствуйте, rg45, Вы писали:

R>А еще "чуть не в каждом втором современном руководстве по C/C++" объясняется, почему следует стремиться минимизировать применение макросов.


Все эти руководства идут лесом, ибо там, где я могу написать короткий и понятный с первого взгляда макрос, они предлагают мне сгородить совершенно неестественный шаблон, а еще чаще — пачку шаблонов, использующих друг друга. Ну и сама возможность городить такие шаблоны обычно подразумевает необходимость перехода на жирные и тормозные современные инструменты. Пока есть возможность, я с VS 2008 не слезу.
Re[8]: Про стиль...
От: rg45 СССР  
Дата: 08.01.23 16:55
Оценка: +1
Здравствуйте, Евгений Музыченко, Вы писали:

R>>А еще "чуть не в каждом втором современном руководстве по C/C++" объясняется, почему следует стремиться минимизировать применение макросов.


ЕМ>Все эти руководства идут лесом, ибо там, где я могу написать короткий и понятный с первого взгляда макрос, они предлагают мне сгородить совершенно неестественный шаблон, а еще чаще — пачку шаблонов, использующих друг друга. Ну и сама возможность городить такие шаблоны обычно подразумевает необходимость перехода на жирные и тормозные современные инструменты. Пока есть возможность, я с VS 2008 не слезу.


Удивительно, как ты еще на VS 2008 залез. А главное, зачем.
--
Не можешь достичь желаемого — пожелай достигнутого.
Re[9]: Про стиль...
От: Евгений Музыченко Франция https://software.muzychenko.net/ru
Дата: 08.01.23 17:13
Оценка: :)
Здравствуйте, rg45, Вы писали:

R>Удивительно, как ты еще на VS 2008 залез. А главное, зачем.


Когда-то я последовательно менял VS 4.0, 4.2 и 6.0 "просто потому, что они новее". На VS 2005 переходить не планировал, но в новых версиях SDK/DDK пошли библиотеки нового формата, решил попробовать. Она зашла как-то очень легко, не было ощущения неудобства или тормознутости, глюков было очень мало, и все непринципиальные. Потом у меня сперли ноутбук, на новый попробовал поставить VS 2010 и 2013, они вызвали резкое ощущение отторжения. Потому и поставил 2008, как последнюю из более-менее сбалансированных.
Re[3]: Про стиль...
От: B0FEE664  
Дата: 09.01.23 11:37
Оценка:
Здравствуйте, Shmj, Вы писали:

BFE>>В современном C++ одна и та же переменная может быть как числом, так и объектом, а объект может быть как смарт указателем, так и функциональным объектом, поэтому венгерская нотация просто неприменима.

S>А пример можно?
Можно.
Тип value не определён:
template < class T >
struct X
{
   void push_back(T value);
};
И каждый день — без права на ошибку...
Re: Про стиль...
От: Skorodum Россия  
Дата: 13.01.23 15:24
Оценка:
Здравствуйте, Shmj, Вы писали:

S>Есть ли какой-либо порядок в этом? Что вы используете?

Qt — camelCase + K&R

Если проект без Qt, то snake_case + K&R.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.