SILENT_Pavel, тонко, но нет, Wind раскрыл твои мотивы и исходники всё равно не выложит, лол. От части у меня есть беспочвенные подозрения что не всё так гладко в Новосибирском королевстве и учитывая что Винд программист по призванию, но не программист по профессии, то там полный неоптимизированный говнокод который просто работает и никто его не трогает, а на все эти новомодные патерны-шматерны, сцепления, связность, зависимости и прочие новые (и не очень) понятия Винд плевал с большой колокольни так как он не в курсе об их существовании. Так что не уверен что ссылаться на код демуля как на истину в последней инстанции будет просто, никто попросту не поймёт что там твориться.
Не смог пройти мимо этого утверждения.
Не хочу тебя ничем обидеть, но мне кажется у тебя немного неверные представления о качестве программного обеспечения.
Паттерны-шматтерны, депенденси инжекшены и прочая ООП-мифология, которую ты перечислил, равно как и само ООП в целом, вовсе не являются silver bullet в плане создания качественного ПО, и используя ООП можно написать куда менее качественный и куда более запутанный, сложный для чтения и понимания, а также куда более медленный код нежели используя процедурно ориентированный подход\парадигму.
И тот факт, что тот же самый Винд о них, возможно, не слышал, вовсе не может помешать создавать ему элегентный, чистый, и аккуратный код на Си, а не аляповотое говноподобие "качественного" кода.
Мне кажется, для Demul даже хорошо то, что был выбран чистый Си, а не Си++, т.к. на плюсах, судя по всему, нормально программировать вообще никто не умеет, везде только и виден говнокод в стиле "Си на плюсах", где классы смешаны с структурами, методы с функциями, дергается malloc в коде и т.п. (Я уже не говорю про RAII, STL, BOOST, хорошо зарекомендоввших себя ООП-библиотек вместо написания собственных велосипедов и тому подобных практиках).
Что действительно повышает качество ПО, так это хорошие гайдлайны, кодинг стайл, пряморукие и хорошо квалифицированные разработчики, а также применение таких практик, как покрытие юнит и интеграционными тестами, ну и багтрекинг разумеется.
Я не знаю насчет покрытия тестами в DEmul'е, но похоже в мире разработки эмуляторов с этим вообще печально.
Как-то так.