<?xml version="1.0" encoding="windows-1251"?>
<rss version="2.0">
<channel>
<title>FreeSource - Etersoft/CodingStyle</title>
<link>http://freesource.info/wiki/Etersoft/CodingStyle</link>
<description>History/revisions of FreeSource/Etersoft/CodingStyle</description>
<language>en-us</language>
<item>
<title>2007-12-24 12:27:43</title>
<link>http://freesource.info/wiki/Etersoft/CodingStyle/show?time=2007-12-24+12%3A27%3A43</link>
<description>&lt;div class="pageBefore">&lt;img src="http://freesource.info/wiki/images/z.gif" width="1" height="1" border="0" alt="" style="display:block" align="top" />&lt;/div>&lt;div class="page">
&lt;b>Сравнение версий &lt;a name=".etersoft.codingstyle" href="http://freesource.info/wiki/Etersoft/CodingStyle&amp;" class="">/Etersoft&amp;nbsp;/&amp;nbsp;Coding&amp;nbsp;Style&lt;/a> за &lt;a href="http://freesource.info/wiki/Etersoft/CodingStyle?time=2007-12-24+12%3A27%3A43">2007-12-24 12:27:43&lt;/a> и &lt;a href="http://freesource.info/wiki/Etersoft/CodingStyle">2008-06-04 05:38:36&lt;/a>&lt;/b>&lt;br />
&lt;br />
&lt;b>Добавлено:&lt;/b>&lt;br />
&lt;div class="additions">&lt;ul>&lt;li> не&amp;nbsp;рекомендуется использовать strcat и&amp;nbsp;strcpy (нужен контроль границ)
&lt;/li>&lt;li> в&amp;nbsp;коде не&amp;nbsp;должно быть числовых констант, обозначающих символы (if (buf[i]==63)
&lt;/li>&lt;li> временно отключаемые участки кода можно выключать через if&amp;nbsp;(0) или&amp;nbsp;#if 0
&lt;/li>&lt;li> выделять память нужно с&amp;nbsp;помощью принятых для&amp;nbsp;этого в&amp;nbsp;данном языке и&amp;nbsp;среде функций, в&amp;nbsp;едином стиле
&lt;/li>&lt;li> выделенную память надо освобождать
&lt;/li>&lt;li> параметры функции и&amp;nbsp;сама функция как&amp;nbsp;член класса должны иметь модификатор const, если возможно
&lt;/li>&lt;li> программа не&amp;nbsp;должна содержать прямых путей к&amp;nbsp;файлам (переносимость!)
&lt;/li>&lt;li> для&amp;nbsp;возможно большего числа функций в&amp;nbsp;программе должны быть написаны тесты.&lt;/li>&lt;/ul>&lt;/div>&lt;br />
&lt;b>Удалено:&lt;/b>&lt;br />
&lt;div class="deletions">&lt;ul>&lt;li> не&amp;nbsp;рекомендуется использовать strcat
&lt;/li>&lt;li> не&amp;nbsp;должно быть числовых констант, обозначающих символы (if (buf[i]==63)
&lt;/li>&lt;li> временно отключаемые участки кода лучше выключать через #if 0
&lt;/li>&lt;li> выделять память нужно с&amp;nbsp;помощью принятых для&amp;nbsp;этого функций, в&amp;nbsp;едином стиле
&lt;/li>&lt;li> выделенную память надо освобождать как&amp;nbsp;можно скорее
&lt;/li>&lt;li> параметры функции должны иметь модификатор const, если возможно
&lt;/li>&lt;li> программа не&amp;nbsp;должна содержать прямых путей к&amp;nbsp;файлам
&lt;/li>&lt;li> для&amp;nbsp;возможно большего числа функций в&amp;nbsp;программе должны быть написаны test cases.&lt;/li>&lt;/ul>&lt;/div>&lt;/div>
</description>
</item>
<item>
<title>2007-12-23 15:57:30</title>
<link>http://freesource.info/wiki/Etersoft/CodingStyle/show?time=2007-12-23+15%3A57%3A30</link>
<description>&lt;div class="pageBefore">&lt;img src="http://freesource.info/wiki/images/z.gif" width="1" height="1" border="0" alt="" style="display:block" align="top" />&lt;/div>&lt;div class="page">
&lt;b>Сравнение версий &lt;a  href="http://freesource.info/wiki/Etersoft/CodingStyle&amp;" class="">/Etersoft&amp;nbsp;/&amp;nbsp;Coding&amp;nbsp;Style&lt;/a> за &lt;a href="http://freesource.info/wiki/Etersoft/CodingStyle?time=2007-12-23+15%3A57%3A30">2007-12-23 15:57:30&lt;/a> и &lt;a href="http://freesource.info/wiki/Etersoft/CodingStyle?time=2007-12-24+12%3A27%3A43">2007-12-24 12:27:43&lt;/a>&lt;/b>&lt;br />
&lt;br />
&lt;b>Добавлено:&lt;/b>&lt;br />
&lt;div class="additions">&lt;ul>&lt;li> минимум использования числовых констант в&amp;nbsp;явном виде (типа j&amp;nbsp;+= 25)
&lt;/li>&lt;li> временно отключаемые участки кода лучше выключать через #if 0&lt;/li>&lt;/ul>&lt;/div>&lt;br />
&lt;b>Удалено:&lt;/b>&lt;br />
&lt;div class="deletions">&lt;ul>&lt;li> минимум использования числовых констант в&amp;nbsp;явном виде (типа j&amp;nbsp;= j&amp;nbsp;+ 25)
&lt;/li>&lt;li> временно отключаемые участки кода лучше выключать через #ifdef 0&lt;/li>&lt;/ul>&lt;/div>&lt;/div>
</description>
</item>
<item>
<title>2007-12-23 15:53:55</title>
<link>http://freesource.info/wiki/Etersoft/CodingStyle/show?time=2007-12-23+15%3A53%3A55</link>
<description>&lt;div class="pageBefore">&lt;img src="http://freesource.info/wiki/images/z.gif" width="1" height="1" border="0" alt="" style="display:block" align="top" />&lt;/div>&lt;div class="page">
&lt;b>Сравнение версий &lt;a  href="http://freesource.info/wiki/Etersoft/CodingStyle&amp;" class="">/Etersoft&amp;nbsp;/&amp;nbsp;Coding&amp;nbsp;Style&lt;/a> за &lt;a href="http://freesource.info/wiki/Etersoft/CodingStyle?time=2007-12-23+15%3A53%3A55">2007-12-23 15:53:55&lt;/a> и &lt;a href="http://freesource.info/wiki/Etersoft/CodingStyle?time=2007-12-23+15%3A57%3A30">2007-12-23 15:57:30&lt;/a>&lt;/b>&lt;br />
&lt;br />
&lt;b>Добавлено:&lt;/b>&lt;br />
&lt;div class="additions">&lt;a name="h8187-1">&lt;/a>&lt;h2> Общий подход &lt;/h2>
&lt;ul>&lt;li> нельзя вписывать конструкции &amp;laquo;на всякий случай&amp;raquo;, не&amp;nbsp;понимая, что&amp;nbsp;происходит
&lt;/li>&lt;li> нельзя оставлять &amp;laquo;на потом&amp;raquo; форматирование и&amp;nbsp;комментарии
&lt;/li>&lt;li> не&amp;nbsp;вписывать конструкции вида textbuf[len]=0 на&amp;nbsp;всякий случай
&lt;/li>&lt;li> не&amp;nbsp;рекомендуется использовать strcat
&lt;/li>&lt;li> не&amp;nbsp;должно быть числовых констант, обозначающих символы (if (buf[i]==63)&lt;/li>&lt;/ul>&lt;a name="h8187-2">&lt;/a>&lt;h2> Форматирование кода, стиль, стандарт &lt;/h2>
&lt;ul>&lt;li> код&amp;nbsp;должен быть отформатирован
&lt;/li>&lt;li> временно отключаемые участки кода лучше выключать через #ifdef 0
&lt;/li>&lt;li> код&amp;nbsp;должен быть написан в&amp;nbsp;стиле, принятом для&amp;nbsp;соответствующего языка
&lt;/li>&lt;li> программа должна компилироваться с&amp;nbsp;помощью mingw без&amp;nbsp;выдачи предупреждений
&lt;/li>&lt;li> программа должна состоять из&amp;nbsp;модулей (логически завершённых блоков), разнесённых по&amp;nbsp;файлам&lt;/li>&lt;/ul>&lt;a name="h8187-3">&lt;/a>&lt;h2> Запись логических выражений &lt;/h2>
&lt;ul>&lt;li> конструкции вида if&amp;nbsp;(a !=0 ) должны выглядеть как&amp;nbsp;if&amp;nbsp;(a)
&lt;/li>&lt;li> конструкции вида if&amp;nbsp;(strcmp(...)==0) должны выглядеть как&amp;nbsp;if&amp;nbsp;(!strcmp())&lt;/li>&lt;/ul>&lt;a name="h8187-4">&lt;/a>&lt;h2> Типы данных и&amp;nbsp;память &lt;/h2>
&lt;ul>&lt;li> выделять память нужно с&amp;nbsp;помощью принятых для&amp;nbsp;этого функций, в&amp;nbsp;едином стиле
&lt;/li>&lt;li> преобразования типов должны быть минимизированы и&amp;nbsp;применяться по&amp;nbsp;осознанной необходимости
&lt;/li>&lt;li> выделенную память надо освобождать как&amp;nbsp;можно скорее
&lt;/li>&lt;li> параметры функции должны иметь модификатор const, если возможно&lt;/li>&lt;/ul>&lt;a name="h8187-5">&lt;/a>&lt;h2> Пути к&amp;nbsp;файлам &lt;/h2>
&lt;ul>&lt;li> программа не&amp;nbsp;должна содержать прямых путей к&amp;nbsp;файлам
&lt;/li>&lt;li> для&amp;nbsp;разделителя путей надо применять специальную константу&lt;/li>&lt;/ul>&lt;a name="h8187-6">&lt;/a>&lt;h2> Совместная работа и&amp;nbsp;релизы &lt;/h2>
&lt;ul>&lt;li> для&amp;nbsp;каждой протестированной или&amp;nbsp;выпускаемой сборки должен быть установлен tag&amp;nbsp;в&amp;nbsp;CVS
&lt;/li>&lt;li> запрещается копировать файлы с&amp;nbsp;исходным кодом. Используйте CVS&amp;nbsp;для передачи файлов.
&lt;/li>&lt;li> для&amp;nbsp;возможно большего числа функций в&amp;nbsp;программе должны быть написаны test cases.
&lt;/li>&lt;li> по&amp;nbsp;каждому релизу должна быть сохранена бинарная сборка&lt;/li>&lt;/ul>&lt;/div>&lt;br />
&lt;b>Удалено:&lt;/b>&lt;br />
&lt;div class="deletions">&lt;ul>&lt;li> перестать вписывать конструкции вида textbuf[len]=0 на&amp;nbsp;всякий случай
&lt;/li>&lt;li> не&amp;nbsp;должно быть числовых констант, обозначающих символы ( if&amp;nbsp;(buf[i]==63)&lt;/li>&lt;/ul>
Форматирование кода, стиль, стандарт&lt;br />
• код&amp;nbsp;должен быть отформатирован&lt;br />
• временно отключаемые участки кода лучше выключать через #ifdef 0&lt;br />
• код&amp;nbsp;должен быть написан в&amp;nbsp;стиле, принятом для&amp;nbsp;соответствующего языка&lt;br />
• программа должна компилироваться с&amp;nbsp;помощью mingw без&amp;nbsp;выдачи предупреждений&lt;br />
• программа должна состоять из&amp;nbsp;модулей (логически завершённых блоков), разнесённых по&amp;nbsp;файлам&lt;br />
Запись логических выражений&lt;br />
• конструкции вида if&amp;nbsp;(a !=0 ) должны выглядеть как&amp;nbsp;if&amp;nbsp;(a)&lt;br />
• конструкции вида if&amp;nbsp;(strcmp(...)==0) должны выглядеть как&amp;nbsp;if&amp;nbsp;(!strcmp())&lt;br />
Типы данных и&amp;nbsp;память&lt;br />
• преобразования типов должны быть минимизированы и&amp;nbsp;применяться по&amp;nbsp;осознанной необходимости&lt;br />
• выделенную память надо освобождать как&amp;nbsp;можно скорее&lt;br />
• параметры функции должны иметь модификатор const, если возможно&lt;br />
Пути к&amp;nbsp;файлам&lt;br />
• программа не&amp;nbsp;должна содержать прямых путей к&amp;nbsp;файлам&lt;br />
Совместная работа и&amp;nbsp;релизы&lt;br />
• для&amp;nbsp;каждой протестированной или&amp;nbsp;выпускаемой сборки должен быть установлен tag&amp;nbsp;в&amp;nbsp;CVS&lt;br />
• запрещается копировать файлы с&amp;nbsp;исходным кодом. Используйте CVS&amp;nbsp;для передачи файлов.&lt;br />
• для&amp;nbsp;возможно большего числа функций в&amp;nbsp;программе должны быть написаны test cases.&lt;br />
• по&amp;nbsp;каждому релизу должна быть сохранена бинарная сборка&lt;/div>&lt;/div>
</description>
</item>
</channel>
</rss>
