<?xml version="1.0" encoding="koi8-r"?>
<rss version="0.91">
<channel>
    <title>OpenForum RSS: Оценка исходных текстов игры Doom 3 с точки зрения грамотног...</title>
    <link>https://opennet.dev/openforum/vsluhforumID3/88232.html</link>
    <description>Shawn McGrath, разработчик игры Dyad, представил (http://kotaku.com/5975610/the-exceptional-beauty-of-doom-3s-source-code) результаты изучения исходных текстов игры Doom 3 с позиции стиля и приёмов кодирования. В опубликованной статье на примере кода  Doom 3 показан грамотный подход к оформлению кода, который позволяет упростить его анализ и делает код более наглядным. Учтены такие параметры как наименование объектов, методов, шаблонов и переменных, расстановка отступов, использование разумных комментариев. Исследование дополнило собой работу Fabien Sanglard, в рамках которой был сформирован детальный обзор (http://fabiensanglard.net/doom3/index.php) технических особенностей Doom 3, претендующий на роль путеводителя по коду, позволяющему начать использование технологий Doom 3 в свободных игровых проектах, без необходимости проведения многомесячного предварительного разбора кода. &lt;br&gt;&lt;br&gt;&amp;lt;center&amp;gt;&amp;lt;a href=&quot;http://img.gawkerassets.com/post/9/2013/01/figure26-cropped.png&quot;&amp;gt;&amp;lt;img src=&quot;http://www.opennet.ru/opennews/pics_</description>

<item>
    <title>Оценка исходных текстов игры Doom 3 с точки зрения грамотног... (qux)</title>
    <link>https://opennet.dev/openforum/vsluhforumID3/88232.html#74</link>
    <pubDate>Wed, 13 Mar 2013 11:13:28 GMT</pubDate>
    <description>&amp;gt; Когда * болтается отдельно, кроме операций умножения.&lt;br&gt;&lt;br&gt;Вроде Netrino coding style рекомендует. И лично мне так тоже больше нравится, звездочка заметнее.&lt;br&gt;&lt;br&gt;&amp;gt; Ну а верх мастерства это конструкции while ( 1 ) и for (;;)  :)&lt;br&gt;&lt;br&gt;$ git grep -F &apos;for (;;)&apos; &amp;#124; wc -l&lt;br&gt;1130&lt;br&gt;&lt;br&gt;$ git grep -F &apos;while (1)&apos; &amp;#124; wc -l&lt;br&gt;1534&lt;br&gt;&lt;br&gt;Текущий гит ядра :)&lt;br&gt;</description>
</item>

<item>
    <title>Оценка исходных текстов игры Doom 3 с точки зрения... (arisu)</title>
    <link>https://opennet.dev/openforum/vsluhforumID3/88232.html#73</link>
    <pubDate>Sun, 20 Jan 2013 08:36:42 GMT</pubDate>
    <description>&amp;gt; И однозначно кодят лучше Кармака &amp;#8230;&lt;br&gt;&lt;br&gt;ну, писать код как минимум не хуже &amp;#8212; не так уж сложно: ничего божественного в его коде нет. просто хороший аккуратный код. так что вполне возможно, что пишет и не хуже.&lt;br&gt;&lt;br&gt;а вот наличие у людей телепаторов меня удивляет. учитывая, у скольких он есть &amp;#8212; я тоже должен был хоть один увидеть ирл. ан &amp;#8212; прячут.&lt;br&gt;</description>
</item>

<item>
    <title>Оценка исходных текстов игры Doom 3 с точки зрения... (Легион)</title>
    <link>https://opennet.dev/openforum/vsluhforumID3/88232.html#72</link>
    <pubDate>Sat, 19 Jan 2013 23:58:55 GMT</pubDate>
    <description>&amp;gt; о, а вот и Иксперты, которые как обычно лучше автора знают, что &lt;br&gt;&amp;gt; автор имел в виду.&lt;br&gt;&lt;br&gt;И однозначно кодят лучше Кармака ...&lt;br&gt;</description>
</item>

<item>
    <title>Оценка исходных текстов игры Doom 3 с точки зрения... (arisu)</title>
    <link>https://opennet.dev/openforum/vsluhforumID3/88232.html#71</link>
    <pubDate>Sat, 19 Jan 2013 14:12:59 GMT</pubDate>
    <description>&amp;gt; Нету бряков в коде, нету&amp;#8230; :) &lt;br&gt;&lt;br&gt;ну и шиш с ними, значит, не нужны. exit() есть где-нибудь. а и нет &amp;#8212; не беда: можно и вовсе не запускать.&lt;br&gt;</description>
</item>

<item>
    <title>Оценка исходных текстов игры Doom 3 с точки зрения... (pavlinux)</title>
    <link>https://opennet.dev/openforum/vsluhforumID3/88232.html#70</link>
    <pubDate>Sat, 19 Jan 2013 14:08:38 GMT</pubDate>
    <description>&amp;gt;&amp;gt; Программа не должна работать вечно!&lt;br&gt;&amp;gt; и поэтому придумали break. &lt;br&gt;&lt;br&gt;Нету бряков в коде, нету... :) &lt;br&gt;&lt;br&gt;while (1) &#123; &lt;br&gt;&lt;br&gt;       init_config();&lt;br&gt;       check_perm();&lt;br&gt;       check_net();&lt;br&gt;       main_algo();&lt;br&gt;&#125;&lt;br&gt;&lt;br&gt;Постоянно попадается на github &lt;br&gt;&lt;br&gt;&amp;gt;ну а что поделаешь, если конструкция WHILE/ELSEIF наличествует только в Oberon-07?&lt;br&gt;&lt;br&gt;&#091;code&#093;&lt;br&gt;do &#123;&lt;br&gt;    pid = fork();&lt;br&gt;    if (pid == 0) &lt;br&gt;        main_algo(); &lt;br&gt;    else &lt;br&gt;        if (pid &amp;lt; 0) &lt;br&gt;           return (-1); &lt;br&gt;     else &#123;&lt;br&gt;           work = 0;&lt;br&gt;            wait(&amp;ret);&lt;br&gt;               if (WIFEXITED(ret) &amp;#124;&amp;#124; (WIFSIGNALED(ret) &amp;#124;&amp;#124; WIFSTOPPED(ret)))&lt;br&gt;                  work = 1;&lt;br&gt;       &#125;&lt;br&gt;    &#125; while (work &amp;gt; 0);&lt;br&gt;&#091;/code&#093;&lt;br&gt;Но тут на оборот - по сигналу убивается и перезапускается.&lt;br&gt;&lt;br&gt;Поэтому: &lt;br&gt;1. Во всех UNIX программах должны быть обработчики сигналов!&lt;br&gt;2. Все функции должны возвращать, как минимум, два различных значения!&lt;br&gt;3. Исходя из п.2 - возврат каждой функции должен обрабатываться!&lt;br&gt;4. Доп. к п.3 - всегда проверять errno.&lt;br&gt;... и т.</description>
</item>

<item>
    <title>Оценка исходных текстов игры Doom 3 с точки зрения... (arisu)</title>
    <link>https://opennet.dev/openforum/vsluhforumID3/88232.html#69</link>
    <pubDate>Sat, 19 Jan 2013 13:36:15 GMT</pubDate>
    <description>&amp;gt; Программа не должна работать вечно!&lt;br&gt;&lt;br&gt;и поэтому придумали break. ну а что поделаешь, если конструкция WHILE/ELSEIF наличествует только в Oberon-07?&lt;br&gt;</description>
</item>

<item>
    <title>Оценка исходных текстов игры Doom 3 с точки зрения... (pavlinux)</title>
    <link>https://opennet.dev/openforum/vsluhforumID3/88232.html#68</link>
    <pubDate>Sat, 19 Jan 2013 13:32:43 GMT</pubDate>
    <description>&amp;gt;&amp;gt; Ну а верх мастерства это конструкции while ( 1 ) и for &lt;br&gt;&amp;gt;&amp;gt; (;;)  :) &lt;br&gt;&amp;gt; а чем ты предлагаешь их заменить? goto, что ли?&lt;br&gt;&lt;br&gt;Программа не должна работать вечно!  Вариантов тонна, надо по коду смотреть.&lt;br&gt;GOTO чуть лучше, если условный.&lt;br&gt;</description>
</item>

<item>
    <title>Оценка исходных текстов игры Doom 3 с точки зрения грамотног... (iZEN)</title>
    <link>https://opennet.dev/openforum/vsluhforumID3/88232.html#67</link>
    <pubDate>Thu, 17 Jan 2013 13:54:56 GMT</pubDate>
    <description>&amp;gt; даже и не знаю что ты этим хочешь сказать?&lt;br&gt;&amp;gt; то ли что ты нам всем кучу прекрасных игр напишешь на жабе, &lt;br&gt;&amp;gt; то ли что андроид синоним жабы, то ли &amp;#171;Android-игры с активным &lt;br&gt;&amp;gt; геймплеем в реальном времени&amp;#187; нифига не юзают NDK, где жаба играет &lt;br&gt;&amp;gt; роль какого-нибудь lua, js, python,&amp;#8230; и не более.&lt;br&gt;&amp;gt; не надоело маньячить, о великий гуру жабы и король,&amp;#8230; нет! император гэйм-дэйва? &lt;br&gt;&amp;gt; тебя послушать, так ты в сортир без жабы не ходишь (а то &lt;br&gt;&amp;gt; вдруг кто-нибудь на си приблуду к смывному бачку написал, а у &lt;br&gt;&amp;gt; тебя из-за этого запор будет) &lt;br&gt;&lt;br&gt;http://agitka.net/images/201009/29/0lvs26icw5ij.jpg&lt;br&gt;</description>
</item>

<item>
    <title>Оценка исходных текстов игры Doom 3 с точки зрения... (arisu)</title>
    <link>https://opennet.dev/openforum/vsluhforumID3/88232.html#66</link>
    <pubDate>Thu, 17 Jan 2013 08:43:59 GMT</pubDate>
    <description>о, а вот и Иксперты, которые как обычно лучше автора знают, что автор имел в виду.&lt;br&gt;</description>
</item>

</channel>
</rss>
