XaeroX писал: но по самому коду у тебя замечания есть? Если да, то какие?
Ну во-первых, почему-то между именем вызываемой функции и открывающей скобкой вставлены отступы - такое чувство, что авторы раньше писали на паскале. Во-вторых внутри вызова почему-то никаких пробелов вообще - даже вокруг операторов. В третьих в коде частенько встречаются маджик намберы типа x < 4096 - а чего 4096-то? Причем один и тот же меджик юзается в нескольких местах, так что правка его в случае чего чревата ошибками. Ну длиннющие вызовы типа Foo.Bar->Blah.MyFunction() читабельности не добавляют, к тому же что если изменится путь к объекту? А ну и идиотские_имена_переменных конечно же.
XaeroX писал: Скажи спасибо, что не как в QC - сначала скобки, а потом название функции. %)
К слову сказать все современные компиляторы куси успешно иммитирую синтаксис чистого Си, даже массивы позволяют, да и препроцессор на уровне шестой студии
А для клона первого дуума под названием vavoom был даже создан VirtualC с классами
Там прямо как в джаве - public static void, final class и так далее.
Очень забавная штука, рекомендую.
Ну и еще венгерская нотация - причем, где-то она используется, а где-то нет. Если б она хоть везде строго использовалась как в сорсе - тогда еще понятно было бы, а тут в одном и том же участке часть переменных отвенгерена, часть - нет. Ну и нахрена спрашивается так делать?
Цитата:
XaeroX писал: Они буквально поняли фразу "Macros are tools of satan" и просто везде натыкали константы.
А enum и const - это я так понимаю инструменты москалей и их тоже использовать нельзя?
Я еще не видел ни одной программы, у которой был бы бардак в коде и при этом она стабильно работала. Под бардаком я имею в виду выстраивание архитектуры или её отсутствие.
Вот у сталкера архитектура загадочная. Кто их так учил проектировать движки - для меня загадка. Вот смотрите немцы у Кармака учились и у них кризис вполне стабильный вышел. А эти...
Ну что вот это вот всё? В ядре - виндовый бакэнд. Какой-то xrCpuPipes - это вообще что такое? Какого он в отдельной дллке?
Партиклы в отдельной. Зато все три рендера - внутри экзешника.
Я могу напутать, но вроде как рендеры вынесли из него только в Lost Alpha.
Постоянные вот эти падения из-за ненайденной модели или шейдера.
Шейдер не скомпилился - вылет. Кость в модели не найдена - вылет.
И судя по тому, что это никто не исправил, это попросту невозможно исправить с текущей архитектурой. Т.е. без модели оно упадёт в любом случае, код не рассчитан.
не обманывай, не видел ты её исходников. У них там в соглашении написано, что после ознакомления отрубают голову. А ты живой.
Цитата:
~ X ~ писал: Quake
Я про архитектуру, а не про локальные загрязнения. Из первокваки мусор может вычистить любой нубокодер (что они уже давно сделали).
Arqlite проект называется. А вот архитектуру выправить - это вам не это.
Дядя Миша писал: Я еще не видел ни одной программы, у которой был бы бардак в коде и при этом она стабильно работала.
Да сорс же - вполне стабильно работает.
ИЧСХ в хаммере например код на первый взгляд гораздо чище и организованнее, что не мешает хаммеру падать в разы чаще самого движка.
Цитата:
XaeroX писал: Windows XP
В ядре винды код очень даже чистый, я бы даже сказал, что это самый чистый код, что я видел. Но вот шелл и всякие там ИЕ - там да, настоящий срач.
Government-Man писал: Да сорс же - вполне стабильно работает.
Цитата:
Дядя Миша писал: Под бардаком я имею в виду выстраивание архитектуры или её отсутствие.
Ну почему вторую часть сообщения никто не читает?
Могу пример со зданием привести. Если у него прочный фундамент и несущая конструкция, то совершенно неважно, какой бардак творится в помещениях.
Корявую функцию можно переписать не затрагивая всего движка.
Корявую архитектуру переписать... гхм. Ну мы с Ксероксом знаем, каково это
Дядя Миша
Ну тогда коряво написанная прога может быть вполне стабильной, если она не очень большая и от начала до конца пишется в одиночку или командой в два-три человека, но не больше.
Маленькая корявая программка, особенно консольная вполне может быть стабильной даже при наличии адского бардака в коде. Пример - ZHLT\VHLT.
Багов там очень много, но хотя бы не вылетает. Обрати внимание, что китаец боится её переписывать. Фиксы, фиксы, да еще и в ifdef, т.е. он даже боится взять на себя ответственность за свои же изменения.
Системщик бы переписал полностью архитектуру.
Там такой матан что сразу повеситься можно, а не переписывать. А ифдефы - это очень грамотный подход. У меня MOVEWITH - тоже везде забит ифдефами. Т.к. даже тестировать не с кем.
Вощм, хорошо ребята устроились: набыдлокодили игру-про-черобыль-о-которой-все-мечтали, сколотили себе известность и крутоту, и забили. Была у меня работка когда за предыдущими быдлокодерами приходилось проекты допереписывать.... ужасы.