LINUX.ORG.RU

Какой стиль отступов вы используете?


0

1

Тема навеяна недавным топиком про K&R-стиль указателей vs Страуструповский стиль.

Стили отступов (indent styles):

1. K&R стиль (K&R style / 1TBS)

if (<cond1>) {
    if (<cond2>){
        <body>
    }
}

2. Стиль Олмана (Allman's style)

if (<cond1>) 
{
    if (<cond2>)
    {
        <body>
    }
}

3. Стиль Уайтсмита (Whitesmith's style)

if (<cond1>) 
    {
    if (<cond2>)
        {
        <body>
        }
    }

4. Стиль GNU (GNU style)

if (<cond1>) 
  {
    if (<cond2>)
      {
        <body>
      }
  }

А какой стиль отступов (indent style) вы предпочитаете и почему?
Лично мне стиль Олмана кажется наиболее удобным.

★★★★★

[:||\ /||:]

Самому нравится K&R без лишних пробелов:

for(...){
    if(...){
        body
    }else{
        body
    }
} 

Eddy_Em ☆☆☆☆☆ ()

Стиль Олмана. Ну или K&R, когда очень не хочется растягивать код по строчкам. Остальное - вообще не пойми что и зачем.

melkor217 ★★★★★ ()

K&R, собственно как и для указателей.

vkos ★★ ()
Ответ на: [:||\ /||:] от Eddy_Em

>Самому нравится K&R без лишних пробелов:
Визуально похоже на кашу же. Тяжело читается, не?

kovrik ★★★★★ ()

Первый. У всех остальных съедается от одной до двух линий на каждый блок на скобки, код требует больше линий, не удобно. Самый ужасный из всех GNU стиль, требует лишней возьни с пробелами.

mashina ★★★★★ ()
Ответ на: комментарий от kovrik

Визуально похоже на кашу же. Тяжело читается, не?

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

mashina ★★★★★ ()

Комбинированный 1 и 2
Для классов и методов - 2
Внутри методов - 1

zJes ★★ ()

Eric Allman, стилю которого отдают предпочтение в каментах, писал для FreeBSD и его стиль называют ещё «BSD style». Как на лоре не стыдно в таких вещах признаваться - в симпатиях к стилю бздуна?

anonymous ()

2й, просто кажется более удобным

unC0Rr ★★★★★ ()
Ответ на: комментарий от kovrik

Легко читается, в отличие от способа 2. Сразу видно блоки... Ну и естественно, между крупными логическими блоками нужно делать пустые строки, а еще лучше - комментарии вида

/****************************
 * комментарий к очередному
 * блоку кода
 ****************************/
Вспомогательные звездочки в начале таких комментариев geany отлично рисует :)

Eddy_Em ☆☆☆☆☆ ()
Ответ на: комментарий от anonymous

>Eric Allman, стилю которого отдают предпочтение в каментах, писал для FreeBSD и его стиль называют ещё «BSD style». Как на лоре не стыдно в таких вещах признаваться - в симпатиях к стилю бздуна?
Толсто.

kovrik ★★★★★ ()

K&R - меньше места занимает. Чем меньше места занимает код, тем больше его влазит на экран, тем больший кусок можно окинуть взглядом и тем легче код анализировать. Бывает что и так делаю

if(...){ ...;...;...; }

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

AIv ★★★★★ ()

Раньше использовал второй (синтаксис C изучал в игре Colobot), недавно перешел на k&r.

Есть еще такой стиль:

{if (<cond1>) 
    {if (<cond2>)
        {<body>}}}

Diecae8i ()
Ответ на: комментарий от Eddy_Em

Согласен с предыдущим комментатором. Твой вариант - трудно читаемый кусок говна.

fang ()

когда-то уже писал, что во 2-ом способе начало блока кода воспринимается быстрее.
использую его. в остальном мой coding style может варьироваться)

xydo ★★ ()

4

Потому что мне он кажется более удобочитаемым, чем Олман.

Но я пишу функции без пробела между названием и скобками (а гну-стиль рекомендует пробел), так как с пробелом - ужасно.

anonymous ()

K&R, очевидно же. Лучше читается, меньше лишних пустых строк. На перле вообще использую конструкции типа foreach (@list) { action if smth; }; в одну строчку.

redgremlin ★★★★★ ()

Нравится 1. К 2 отношусь спокойно. Буду и его без проблем использовать, если того потребует coding style. Визуально, эти два варианта лучше отделяют информативную часть от синтаксического мусора в виде скобок. 3 и 4 - страшное уродство.

fang ()

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

Zubok ★★★★★ ()

Последние два - маразм.

Использую первый.

anonymous ()

И да, было уже недавно.

anonymous ()

k&r, потому что нравится. на работе олман.

waker ★★★★★ ()

Есть компромиссный вариант:

if (<cond1>) {
   if (<cond2>)
   {
       <body>
       }
  }

Diecae8i ()

2. Только пробел после ключевого слова не ставлю.

KRoN73 ★★★★★ ()

Первый. Могу терпеть второй, но советую переучиваться на первый.
За третий и, в особенности, четвёртый, я просто готов оторвать руки.

tia ()
Ответ на: комментарий от tia

>Первый. Могу терпеть второй, но советую переучиваться на первый.
И почему советуешь переучиваться на 1й?

kovrik ★★★★★ ()

2 и только 2. K&R менее читабелен, остальные бредовые.

Pavval ★★★★★ ()
if(cond){
 if(cond)expr;
 expr;}

А вообще, если проект уже начат, то стараюсь следовать его код-стайлу.

staseg ★★★★★ ()

Олмана
к_анд_Р слишком туманит код

xhat ()

Еще вариант.


        if (<cond1>)
           {
    if (<cond2>)
        {
<body>
        }
           }
Diecae8i ()

Стиль Уайтсмита использовал еще в школе, когда кодил на паскале. Сейчас использую стиль Олмана, реже K&R

Pinkbyte ★★★★★ ()

2.

P.S. Стиль Уайтсмита выглядит как код быдло-студента.

Raving_Zealot ★★ ()

1tbs
на крайняк, можно воспользоваться indent[C] и astyle[C++]

backbone ★★★★★ ()
Ответ на: комментарий от kovrik

Потому как первый, по моему и не только мнению, лучше.
Экономия пространства(только представь себе, оператор if занимает три строчки!), проще читаются релайтед-блоки(проще читать два блока if-else, а мозг сам их соединяет во что-то единое, когда используется «} else {») etc. Самое главное - проще и лучше всего читается(что бы и кто бы не говорил).
Причин и бонусов много.

tia ()

Когда приходится что-то программировать на С-подобном языке, использую 2 стиль.
К слову, именно им принудительно форматируется исходный код в MSVS

alix ★★★★ ()
Ответ на: комментарий от alix

Стиль GNU вот в первый раз увидел, тоже весьма интересно

alix ★★★★ ()
Ответ на: комментарий от alix

>Стиль GNU вот в первый раз увидел, тоже весьма интересно

Его главный минус перед олманом - требуется «умный» редактор, который сам будет ставить отступы с этими двумя лишними пробелами.

Потому что вручную их ставить откровенно неинтересно.

anonymous ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.