powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / C++ [игнор отключен] [закрыт для гостей] / Расстановка фигурных скобок.
25 сообщений из 34, страница 1 из 2
Расстановка фигурных скобок.
    #39027067
.NET
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Надеюсь я не начинаю холивар.)
Какой способ расстановки фигурных скобок ограничивающих блок кода вы считаете предпочтительным.
Стиль Кренигана-Ритчи:
Код: plaintext
1.
2.
3.
4.
5.
foo() {
    
    ........

}  



или стиль Алмена:
Код: plaintext
1.
2.
3.
4.
5.
6.
foo() 
{
    
    ........

}  



Мне больше нравится стиль Алмена, так как он чётче обозначает границы.
Границы блока надо всегда искать в первом столбце текста.
В первом же варианте конец блока виден хорошо, а в поисках начала надо шарить по всему файлу.
Однако, в книге которую я сейчас читаю написано, что стиль Кернигана-Ритчи является единственно верным.
Вот так выделено курсивом и никаких комментариев.
...
Рейтинг: 0 / 0
Расстановка фигурных скобок.
    #39027086
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
.NETОднако, в книге которую я сейчас читаю написано, что стиль Кернигана-Ритчи является единственно верным.


Естественно, это неправда.
Потому что единственно верным является стиль Алмена .
...
Рейтинг: 0 / 0
Расстановка фигурных скобок.
    #39027098
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сравни
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
if(...)
{
  ...
}
else
{
 ...
 while(...)
 {
    ...
 }
}


и
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
if(...) {
  ...
} else {
 ...
 while(...) {
    ...
 }
}


Лично я предпочитаю видеть больше кода чем скобок, т.е. стиль Кренигана-Ритчи. Экран не резиновый и не стоит занимать место строками с одной скобкой, т.к. в итоге получается что половина строк кода - скобки.
Хотя для функций использую стиль Алмена.
...
Рейтинг: 0 / 0
Расстановка фигурных скобок.
    #39027532
Фотография Герой дня
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
новая скобка на новой строке - надо заботиться о тех, кто будет читать код.. а так он проще воспринимается
...
Рейтинг: 0 / 0
Расстановка фигурных скобок.
    #39027537
Фотография SashaMercury
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Какую книгу вы читаете ? Что значит единственно верным ? По какому критерию ? Корректность синтаксического или лексического анализа? В таком случае совершенно безразлично где и как вы закрываете и открываете блок инструкций. Читабельность кода ? На вкус и цвет товарищей нет, когда-то удобней так, а когда-то иначе
...
Рейтинг: 0 / 0
Расстановка фигурных скобок.
    #39027723
kolobok0
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
.NET,
в конечном итоге прав тот кто платит. Т.е. согласно внутренним решениям конторы.
Если идёт речь гипотетически - то если не надо чтоб кто то читал Ваш код - то как угодно. Хоть в прямоугольные блоки код сводите(есть и такие любители). Если нужно снизить затраты на поддержку кода(типа чтоб любая "домохозяйка" поняла) то тогда с новой строчки(имхо конечно-же) глаз воспринимает легче. Но для профи параллельно, т.к. приходится всякое разгребать досконально.
Как писать так и читать.
...
Рейтинг: 0 / 0
Расстановка фигурных скобок.
    #39027781
YesSql
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Dima T
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
if(...) {
  ...
} else {
 ...
 while(...) {
    ...
 }
}


Лично я предпочитаю видеть больше кода чем скобок, т.е. стиль Кренигана-Ритчи. Экран не резиновый и не стоит занимать место строками с одной скобкой, т.к. в итоге получается что половина строк кода - скобки.
Хотя для функций использую стиль Алмена.
Когда-то давным давно моя первая учительница по программированию говорила "бейте перфокарту до последнего символа". И это был PL/1....... Я так подозреваю партия зеленых началась с нее.
...
Рейтинг: 0 / 0
Расстановка фигурных скобок.
    #39028119
.NET
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
YesSqlDima T
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
if(...) {
  ...
} else {
 ...
 while(...) {
    ...
 }
}


Лично я предпочитаю видеть больше кода чем скобок, т.е. стиль Кренигана-Ритчи. Экран не резиновый и не стоит занимать место строками с одной скобкой, т.к. в итоге получается что половина строк кода - скобки.
Хотя для функций использую стиль Алмена.
Когда-то давным давно моя первая учительница по программированию говорила "бейте перфокарту до последнего символа". И это был PL/1....... Я так подозреваю партия зеленых началась с нее.
Да я тоже думаю что смысл этого стиля в экономии символов на переводе строки.
Чтобы программа помещалась на кассету.
...
Рейтинг: 0 / 0
Расстановка фигурных скобок.
    #39028121
.NET
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SashaMercuryКакую книгу вы читаете ?
Павловская, Щупак. "Структурное программирование C/C++. Практикум."
Книга 2005 года. Купил давно, хотел программировать на C++.
Потом подсел на .NET, вот теперь пытаюсь вернуться к корням.
Программирование на .NET без знания C/C++, по моему, развивает в человеке веру в чудеса.
А это рано или поздно приводит к проблемам как в работе так и вообще по жизни.
Не на каждую задачу найдётся "заклинание".
...
Рейтинг: 0 / 0
Расстановка фигурных скобок.
    #39028122
Фотография Relic Hunter
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
.NET,

Вижуал студия форматирует по Альмену (Ctrl-k,Ctrl-d). А это самое главное.
...
Рейтинг: 0 / 0
Расстановка фигурных скобок.
    #39028128
Фотография Anatoly Moskovsky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Функции и классы:

Код: plaintext
1.
2.
3.
int main() 
{
}



составные операторы:
Код: plaintext
1.
2.
3.
4.
if (x) {
}
else {
}
...
Рейтинг: 0 / 0
Расстановка фигурных скобок.
    #39028133
miksoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Anatoly Moskovskyсоставные операторы:
Код: plaintext
1.
2.
3.
4.
if (x) {
}
else {
}

А если в if сложное выражение на четыре строки?
...
Рейтинг: 0 / 0
Расстановка фигурных скобок.
    #39028137
Фотография Anatoly Moskovsky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
miksoftА если в if сложное выражение на четыре строки?
В любом случае
Код: plaintext
1.
) {
...
Рейтинг: 0 / 0
Расстановка фигурных скобок.
    #39028143
miksoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Anatoly MoskovskymiksoftА если в if сложное выражение на четыре строки?
В любом случае
Код: plaintext
1.
) {

И как тогда отличать, где выражение в if, а где код пошел?
...
Рейтинг: 0 / 0
Расстановка фигурных скобок.
    #39028163
Фотография Anatoly Moskovsky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
miksoftИ как тогда отличать, где выражение в if, а где код пошел?
Код: plaintext
1.
2.
3.
4.
5.
Да все хорошо видно.
if (x1
    && x2) {
    yy;
}
...
Рейтинг: 0 / 0
Расстановка фигурных скобок.
    #39028165
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
.NETДа я тоже думаю что смысл этого стиля в экономии символов на переводе строки.
Чтобы программа помещалась на кассету.
При чем тут касета?
Пол экрана кода (а то и больше) на Си зачастую равносильно одной команде высокоуровнего языка. В итоге имеешь 3-4 экрана для реализации элементарной операции. При отладке средний палец опухает от кручения колесика на мышке и в глазах рябить начинает от постоянного листания вверх-вниз.
...
Рейтинг: 0 / 0
Расстановка фигурных скобок.
    #39029599
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dima T, лет несколько назад один перец строил ультра-короткий язык. Чем оно закончилось - ХЗ.
Но можешь погуглить здесь. По выделенному. Хехе...
...
Рейтинг: 0 / 0
Расстановка фигурных скобок.
    #39029755
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
maytonDima T, лет несколько назад один перец строил ультра-короткий язык. Чем оно закончилось - ХЗ.
Но можешь погуглить здесь. По выделенному. Хехе...
Ты про стебелек? Не знаю, не читал. Я про Visual FoxPro, реально ультракороткий язык, пишу на нем 20 лет, все это время MS его хоронит. Думал похоронит насильным вводом x64, но похоже MS осталось жить еще меньше. Похоронят ARM'ы.
...
Рейтинг: 0 / 0
Расстановка фигурных скобок.
    #39029766
Владимир2012
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dima TЛично я предпочитаю видеть больше кода чем скобок, т.е. стиль Кренигана-Ритчи. Экран не резиновый и не стоит занимать место строками с одной скобкой, т.к. в итоге получается что половина строк кода - скобки.

Обычный стиль:
Код: plaintext
1.
2.
3.
4.
5.
6.
        typedef struct
        {
                float v2;
                float v3;
                float fac;
        } goertzel_state_t;


У меня:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
        typedef struct {

         float  v2;
         float  v3;
         float  fac;

        } goertzel_state_t;



Вот еще пример:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
        class __EXPORT Info
        {
        public:
                Format format;
                Encoding encoding;
                unsigned long rate;
                unsigned long bitrate;
                unsigned order;
                unsigned framesize, framecount;
                timeout_t framing;
                char *annotation;

                Info();
                void clear(void);
                void set(void);
                void setFraming(timeout_t frame);
        };



Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
        class __EXPORT Info {

        public:

         Format         format;
         Encoding       encoding;
         unsigned long  rate;
         unsigned long  bitrate;
         unsigned       order;
         unsigned       framesize, 
                        framecount;
         timeout_t      framing;
         char           *annotation;

         Info();
         void clear( void );
         void set( void );
         void setFraming( timeout_t  frame );

        };
...
Рейтинг: 0 / 0
Расстановка фигурных скобок.
    #39029772
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Так недалеко и в Python скатиться. :)
...
Рейтинг: 0 / 0
Расстановка фигурных скобок.
    #39029775
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Владимир2012У меня:
В *.h все замечательно, ты свои *.cpp покажи
...
Рейтинг: 0 / 0
Расстановка фигурных скобок.
    #39029776
Владимир2012
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dima TЯ про Visual FoxPro, реально ультракороткий язык, пишу на нем 20 лет, все это время MS его хоронит.
99% если не больше задач типа "финансовых", "бухучет" ... с использованием Visual FoxPro делаются
легко, быстро, просто, ... /если руки не кривые/.
Хотя C# в какой-то мере и позиционировался /при сравнении с Visual Foxpro/ как язык, который воспринял
все лучшее и дополнил многое недостающее, все же на мой взгляд для класса задач перечисленных выше без
этого "лучшего" запросто можно обойтись.
И код без всего этого "лучшего" пишется быстрее и даже осмелюсь сказать "много чище".
...
Рейтинг: 0 / 0
Расстановка фигурных скобок.
    #39029778
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Владимир2012 99% если не больше задач типа "финансовых", "бухучет" ... с использованием Visual FoxPro делаются
легко, быстро, просто, ... /если руки не кривые/.
Хотя C# в какой-то мере и позиционировался /при сравнении с Visual Foxpro/ как язык, который воспринял
все лучшее и дополнил многое недостающее,

Как можно их сравнивать ? Fox -- 4GL, С# -- 3GL. Естественно, Fox мощнее гораздо.
...
Рейтинг: 0 / 0
Расстановка фигурных скобок.
    #39029779
Фотография Изопропил
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MasterZivFox мощнее гораздо.
в киловаттах или попугаях?
...
Рейтинг: 0 / 0
Расстановка фигурных скобок.
    #39029780
Владимир2012
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dima TВ *.h все замечательно, ты свои *.cpp покажи
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
// --- Если имя stream не задано
//
 if  ( SysStringLen( NameStream ) == 0 ) {

  m_CFile.Attach( NameFile );

  bRet = ( m_CFile.m_Ok == TRUE ? 1 : 0 );

  if  ( m_CFile.m_Ok == TRUE )  {

   hr              = S_OK;
   ResValue.dblVal = 1;
   *bResult        = ResValue;

  } else {
   hr              = S_FALSE;
   ResValue.dblVal = 0;
   *bResult        = ResValue;
  }

  return  hr;

 }                                                         // if  ( SysStringLen( NameStream ) == 0 ) {
...
Рейтинг: 0 / 0
25 сообщений из 34, страница 1 из 2
Форумы / C++ [игнор отключен] [закрыт для гостей] / Расстановка фигурных скобок.
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]