<?xml version='1.0' encoding="utf-8"?>
      <rss version='2.0'>
      <channel>
      <title>Форум на Исходниках.RU</title>
      <link>https://forum.sources.ru</link>
      <description>Форум на Исходниках.RU</description>
      <generator>Форум на Исходниках.RU</generator>
  	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=45264&amp;view=findpost&amp;p=297576</guid>
        <pubDate>Wed, 11 Feb 2004 16:19:54 +0000</pubDate>
        <title>Стили записи кода</title>
        <link>https://forum.sources.ru/index.php?showtopic=45264&amp;view=findpost&amp;p=297576</link>
        <description><![CDATA[Michail04: В anjuta есть автоматический преобразователь стиля написания кода, там до хрена всяких вариантов]]></description>
        <author>Michail04</author>
        <category>*nix</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=45264&amp;view=findpost&amp;p=297478</guid>
        <pubDate>Wed, 11 Feb 2004 14:19:16 +0000</pubDate>
        <title>Стили записи кода</title>
        <link>https://forum.sources.ru/index.php?showtopic=45264&amp;view=findpost&amp;p=297478</link>
        <description><![CDATA[=Alex=: <div class='tag-quote'><span class='tag-quote-prefix'>Цитата</span> <span class='tag-quote__quote-info'>ASMProgrammer</span><div class='quote '>Если уж делиться своим стилем, то я использую 1TBS с одним отличием: закрывающие фигурные скобки ставлю вровень с операторами блока, а не открывающим блок оператором. Не спрашивайте почему -- просто мне так удобно, но хез, может, кому-то еще тоже удобным будет.</div></div><br>
Аналогично. B)]]></description>
        <author>=Alex=</author>
        <category>*nix</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=45264&amp;view=findpost&amp;p=297449</guid>
        <pubDate>Wed, 11 Feb 2004 13:28:25 +0000</pubDate>
        <title>Стили записи кода</title>
        <link>https://forum.sources.ru/index.php?showtopic=45264&amp;view=findpost&amp;p=297449</link>
        <description><![CDATA[ASMProgrammer: Лично мое мнение, стиль кодинга ядра способствует не только читабельности кода, но и лаконичности изложения. (Когда мне пришлось разгребать какой-то мохнатый код на PHP (который довольно сходен с C)), я чуть на себе волосы не порвал: когда в MC 80x25 попробовал редактировать это чудо. <br><br>Если уж делиться своим стилем, то я использую 1TBS с одним отличием: закрывающие фигурные скобки ставлю вровень с операторами блока, а не открывающим блок оператором. Не спрашивайте почему -- просто мне так удобно, но хез, может, кому-то еще тоже удобным будет.]]></description>
        <author>ASMProgrammer</author>
        <category>*nix</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=45264&amp;view=findpost&amp;p=296684</guid>
        <pubDate>Tue, 10 Feb 2004 10:36:42 +0000</pubDate>
        <title>Стили записи кода</title>
        <link>https://forum.sources.ru/index.php?showtopic=45264&amp;view=findpost&amp;p=296684</link>
        <description><![CDATA[Oksiv: Мне ближе стиль GNU, собственно так пишу уже давно, пробелы хороши при вызове функций между параметрами. <br>
         <br>
<strong class='tag-b'>the_Shadow</strong>, ты не написал про регистр, т.е все константы верхним, а всё остальное нижним<br>
чтоб не как в MS &quot;американские горки&quot;.]]></description>
        <author>Oksiv</author>
        <category>*nix</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=45264&amp;view=findpost&amp;p=296640</guid>
        <pubDate>Tue, 10 Feb 2004 09:57:46 +0000</pubDate>
        <title>Стили записи кода</title>
        <link>https://forum.sources.ru/index.php?showtopic=45264&amp;view=findpost&amp;p=296640</link>
        <description><![CDATA[the_Shadow: В свое время тема поднималась, но не нашла должного продолжения. Исправляем... <br>
<br>
В современном мире, к счастью, есть такая вещь как <em class='tag-i'>разделение кода</em>, <em class='tag-i'>распределенный проект</em>, etc.<br>
Т.е. когда толпа народа берет какую-то задачу и занимается ее решением, живя в разных городах, странах, на разных<br>
континентах. Вот только один минус -- при получении из того же репозитария CVS кода, Вы можете с удивлением обнаружить<br>
что код, хоть и компилится и работает, но вот что-то в стиле написания Ваш глаз &quot;царапает&quot;... Что делать-то? Попробовать<br>
с этим разобраться, т.к. если код &quot;чистый&quot; и Вам он нужен (Вы как-то решили его развивать или приспособить для своих задач),<br>
то не стоит проклинать все и вся, гораздо проще использовать утилиту <em class='tag-i'>indent</em> для переформатирования кода. Собственно<br>
говоря, здесь дело в том, как Вы ставите фигурные скобки, как используете проблы и символы табуляции для организвции<br>
отступов в коде (от еачала строки, вокруг символов, вокруг операторов ветвления типа &quot;if&quot;, &quot;while&quot;), как именуете переменные, <br>
функции, как относитесь к множественным определениям на одной строке... Короче, &quot;косметика&quot;, без которой глаза <br>
сломаешь.<br>
<br>
Более того&#33; Дополнительную &quot;радость&quot; могут принести громогласные заявления авторов того или иного проекта о &quot;еритичности&quot;<br>
того или иного стиля написания программного кода. См. к примеру, <em class='tag-i'>/usr/src/~linux/Documentation/CodyngStyle</em>.<br>
Но ведь... Это дело мое, а никак не кого-то еще как мне писать код на <em class='tag-i'>моей</em> машине. Конечно, если я вдруг захочу, скажем, <br>
опубликовать что-то из своего кода на &quot;ядерную&quot; тематику, то я буду <em class='tag-i'>обязан</em> привести свой код в соответствие с<br>
общими требованиями, обозначенными в этом документе. В любом случае убрать оттуда комментарии на &quot;русском командно-матерном&quot; <br>
и перекодировать текст для соответствия стилю.<br>
<br>
Вся проблема в том, что разные люди применяют для написания кода различные технологические решения. К примеру, в свое<br>
время народ писал код, пользуясь Emacs или vi, с дохленького терминала, подключенного по мопеду на 9600 к пробкотрону<br>
за тридевять земель от местоположения автора. В этом случае, ясное дело, автор использовал стиль, не требующий прокруток<br>
терминала, более сжатый по вертикали. На сегодняшний день это малоприменимо, т.к. тот же vi я стартую на своей машине. <br>
Таким образом, можно перейти к форме записи, при которой фигурные скобки располагаются, скажем, по одной на строке. На<br>
мой взгляд это более наглядная форма записи, при которой мне нет нужды шарить глазами по экрану в поисках открывающей<br>
фигурной скобки... Дело Ваше, короче говоря... На мой взгляд, любой стиль лучше чем отсутствие всякого стиля. <br>
<br>
Итак, стили записи:<br>
<strong class='tag-b'>1. Стиль Кернигана и Ричи.</strong><br>
Инако рекомый 1TBS -- <em class='tag-i'>единственный правильный стиль разметки</em>. Кажется, так это называется. <br>
<div class='tag-code'><span class='pre_code'></span><div class='code  code_collapsed ' title='Подсветка синтаксиса доступна зарегистрированным участникам Форума.' style=''><div><div><ol type="1"><div class="code_line">&nbsp;</div><div class="code_line">while(x&#60;0) {</div><div class="code_line">&nbsp;&nbsp; &nbsp;for(i=0; i&#60;MAX_VAL; i++){</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;....</div><div class="code_line">&nbsp;&nbsp; &nbsp;}</div><div class="code_line">}</div></ol></div></div></div></div><script>preloadCodeButtons('1');</script><br>
Ну, может, кому и нравится... По крайней мере, судя по приведенному выше документу, <em class='tag-i'>kernel-hacker</em>&#39;ам однозначно.<br>
<br>
<strong class='tag-b'>2. GNU-style.</strong><br>
<div class='tag-code'><span class='pre_code'></span><div class='code  code_collapsed ' title='Подсветка синтаксиса доступна зарегистрированным участникам Форума.' style=''><div><div><ol type="1"><div class="code_line">&nbsp;</div><div class="code_line">while (x&#60;0)</div><div class="code_line">&nbsp;&nbsp; &nbsp;{</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;for (i=0; i&#60;MAX_VAL; i++)</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;{</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;....</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;}</div><div class="code_line">&nbsp;&nbsp; &nbsp;}</div></ol></div></div></div></div><br>
Если приглядеться, то большая часть исходников для утилит GNU написана с применением этого стиля разметки.<br>
<br>
<strong class='tag-b'>3. Стиль BSD.</strong><br>
Инако рекомый стилем Allmаn&#39;а, т.к. именно он написал большую часть утиля для BSD.<br>
<div class='tag-code'><span class='pre_code'></span><div class='code  code_collapsed ' title='Подсветка синтаксиса доступна зарегистрированным участникам Форума.' style=''><div><div><ol type="1"><div class="code_line">&nbsp;</div><div class="code_line">while (x&#60;0)</div><div class="code_line">{</div><div class="code_line">&nbsp;&nbsp; &nbsp;for (i=0; i&#60;MAX_VAL; i++)</div><div class="code_line">&nbsp;&nbsp; &nbsp;{</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;....</div><div class="code_line">&nbsp;&nbsp; &nbsp;}</div><div class="code_line">}</div></ol></div></div></div></div><br>
<br>
Есть еще гора всяких-разных &quot;промежуточных&quot; стилей, каждый из которых имеет своих защитников и фанатиков, к примеру,<br>
стиль GNOME (то, что генерирует GLADE, как раз оформлено в таком стиле). И лично мне не сильно хотелось бы чтобы Вас <br>
отправили на костер только за то, что Вы пишете свой код не так, как это принято кем-то. <br>
<br>
Хотя, если честно, то Вашему покорному слуге сугубо монопениссуальны все различия. Я использую свой стиль записи, <br>
при котором между символами есть пространство &quot;немного подумать&quot;. Текст не сливается в пятно даже при рассматривании<br>
его издалека, области видимости операторов ясно видны и текст так же ясно просматривается. Причем, в чем я абсолютно<br>
не уверен, так это в том, что именно я этот стиль придумал, т.к. по всей видимости, кто-то уже пользовался этим стилем<br>
разметки еще когда я и не сильно задумывался о стилях разметки. И, к стати, я не уверен что именно этот стиль<br>
лучше всех. Меня он устраивает и -- ладно. <br>
<br>
<div class='tag-code'><span class='pre_code'></span><div class='code  code_collapsed ' title='Подсветка синтаксиса доступна зарегистрированным участникам Форума.' style=''><div><div><ol type="1"><div class="code_line">&nbsp;</div><div class="code_line">while ( x &#60; 0 )</div><div class="code_line">{</div><div class="code_line">&nbsp;&nbsp; &nbsp;for ( i &#60; 0; i &#60; MAX_VAL; i++ )</div><div class="code_line">&nbsp;&nbsp; &nbsp;{</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;....</div><div class="code_line">&nbsp;&nbsp; &nbsp;}</div><div class="code_line">}</div></ol></div></div></div></div><br>
<br>
Да, Вы не ошиблись -- я использую отступы в 4 пробела, т.к. очень уж длинные строки попадаются и просто лень<br>
мотать экран то по вертикали, то по горизонтали. Vi соответствующим образом &quot;предупрежден&quot;. И не вмешивается<br>
в установку <strong class='tag-b'>ts</strong>.<br>
<br>
<strong class='tag-b'>Приведение к какому-то стилю.</strong><br>
Мне не сильно хочется чтобы мое мясо горело на костре. Поэтому, проконсультировавшись с исходной версией, <br>
определившись какой же там стиль применяется, я напрягаю <strong class='tag-b'>indent</strong> на то, чтобы расставить все по местам.<br>
Сделаем через <em class='tag-i'>indent</em> разметку в разных стилях.<br>
<br>
В indent есть преопределенные стили. <br>
По умолчанию стиль GNU:<br>
<div class='tag-code'><span class='pre_code'></span><div class='code  code_collapsed ' title='Подсветка синтаксиса доступна зарегистрированным участникам Форума.' style=''><div><div><ol type="1"><div class="code_line">$ indent -gnu file.c -o file.out.c</div></ol></div></div></div></div><br>
Есть стиль K&amp;R:<br>
<div class='tag-code'><span class='pre_code'></span><div class='code  code_collapsed ' title='Подсветка синтаксиса доступна зарегистрированным участникам Форума.' style=''><div><div><ol type="1"><div class="code_line">$ indent -kr file.c &#62; file.out.c</div></ol></div></div></div></div><br>
Есть стиль BSD (original indent):<br>
<div class='tag-code'><span class='pre_code'></span><div class='code  code_collapsed ' title='Подсветка синтаксиса доступна зарегистрированным участникам Форума.' style=''><div><div><ol type="1"><div class="code_line">$ cat file.c | indent -orig -o file.out.c</div></ol></div></div></div></div><br>
<br>
Вы сами можете создать свой стиль и описать его в файле <em class='tag-i'>&#036;HOME/.indent.pro</em>. И, соответсвенно использовать<br>
именно свой стиль перед разборками с чьими-то исходниками. После того, как Вы переформатировали исходники, <br>
спокойненько грузите их в любимый vi и... с Богом. :)<br>
<br>
Обратно переформатировать вовсе не сложно -- см. выше. Подробнее обо всем этом -- <strong class='tag-b'>man indent[/i] или <br>
[b]info indent</strong>.]]></description>
        <author>the_Shadow</author>
        <category>*nix</category>
      </item>
	
      </channel>
      </rss>
	