Если мы используем префикс C для классов, мы должны использовать его для структуры также?

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

Это - довольно тривиальный вопрос, но если в руководстве стиля кода C++ говорится, что "использование C для префикса имени класса" затем должно это быть взятым для значения также использования C для префикса структуры также, или если мы используем что-то другое, как S, например.

class CFoo { };
struct CBar { };

... или...

class CFoo { };
struct Bar { };
7
задан Nick Bolton 16 December 2009 в 17:22
поделиться

7 ответов

Если в руководстве по стилю не указано иное, я бы (вероятно) использовал правило «структуры - это классы со всеми общедоступными членами», чтобы использовать C и для структур, да. Или я бы подумал: «Ха, вот лазейка, чтобы обойти это глупое начальное правило, ура», и не использовать его. Другими словами, это очень субъективно.

13
ответ дан 6 December 2019 в 04:48
поделиться

Простой ответ - не используйте префикс C для классов. Это венгерские обозначения самого бессмысленного толка. Наверное, пора переписать руководство по стилю. Откровенно говоря (и говоря как человек, который написал несколько вещей), большинство таких руководств - чушь и / или были написаны давно, давно и никогда не обновлялись.

27
ответ дан 6 December 2019 в 04:48
поделиться

Если в руководстве по стилю кода не указано иное, найдите код, который соответствует руководству по стилю, и посмотрите, что уже было сделано.

Если нет кода, который уже соответствует руководству по стилю, приходите к соглашению со всеми участниками проекта.

Если никто другой не участвует в проекте, просто решите и будьте последовательны.

5
ответ дан 6 December 2019 в 04:48
поделиться

Я думаю, что это руководство глупо и сбивает с толку ... Тот факт, что вам пришлось задать этот вопрос, доказывает это.

Стили кодирования предназначены для повышения удобочитаемости; очевидно, является ли идентификатор классом или нет, особенно если вы используете приличную среду IDE с всплывающими подсказками при наведении курсора мыши.

3
ответ дан 6 December 2019 в 04:48
поделиться

Обычно мы используем префикс C для классов и префикс T для структур, у которых нет методов (например, структуры "C").

2
ответ дан 6 December 2019 в 04:48
поделиться

Для меня это могло бы свести к следующему:

Вы хотите, чтобы читатели вашего кода немедленно различали два типа объявлений?

Хотя использование префикса обычно неприятно внимательно рассмотрите точку зрения сопровождающего кода. Полезно ли им думать: «Ах, нет префикса C, это структура». Использование структуры вместо класса может означать что-то особенное в вашем коде. В противном случае имеет смысл продолжать использовать префикс в интересах сопровождающего.

2
ответ дан 6 December 2019 в 04:48
поделиться

Если руководство по стилю не служит своей цели по обеспечению удобочитаемости, согласованности и правильности, его следует изменить до тех пор, пока оно не будет выполнено, или добавить круглый файл (мусорное ведро).

Кроме того, если люди не следуют ему, то его следует обновить, чтобы ему было легче следовать (или инструменты, исправленные, чтобы упростить кодирование в соответствии с руководящими принципами).

2
ответ дан 6 December 2019 в 04:48
поделиться
Другие вопросы по тегам:

Похожие вопросы: