стиль кодирования — фигурные скобки и комментарии C ++

C ++ начинающий здесь.
Я немного борюсь за то, чтобы получить лучшую практику для фигурных скобок + // комментарии.

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

Итак, между

if (condition) {  // comment
do something();
}

или же

// comment
if (condition) {
do something();
}

или же

if (condition) // comment
{
do something();
}

или даже следующий (чтобы использовать этот обычно бесполезный перевод строки)

if (condition)
{  // comment
do something();
}

нет никакого ясного «Ах, этот лучше из-за xyz», для меня все же.

Спасибо за любую дальновидность!

ура

0

Решение

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

Что касается фигурных скобок, то здесь нет единого подхода, вы, вероятно, можете встретить все виды размещения сумасшедших скобок. Некоторые люди даже будут защищать такой плюрализм. Я предпочитаю размещать соответствующие фигурные скобки выровненными — либо горизонтально (то есть на одной строке), либо вертикально (то есть с одинаковыми отступами), когда содержимое не помещается в одну строку. И это правило применяется ко всем брекетам, а не только к фигурным.

0

Другие решения

Если вы работаете над индивидуальными / личными проектами, то любой из вышеперечисленных способов будет работать нормально. Тем не менее, я лично скажу, что я думаю, что выражение if выглядит более читабельным, если оно написано так:

if ( a > 10 )
{
std::cout << "a is above 10" << std::endl;
}

Или для одной строки: —

if ( a > 10 )
std::cout << "a is above 10" << std::endl;

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

2