> вопроса об осмысленности реализации лейера для поддержки совместимости с разными версиями
> венды, в качестве аргумента в пользу того, что лейер не нужен,Именно так. У них система не работает, валится постоянно, драйверов нет, с файловыми системами жёпа, не работают базовые сценарии типа пинга и файрфокса. Слой совместимости при этом крайне необходим.
> одинаковые результаты на венде и в reactos -- это никак не ноль совместимости.
Результаты в винде и реактосе не одинаковые. Виндой пользоваться можно, а реактосом - нет. Если сидеть в винде с вьюжлстудией, наворачивая миллионы юниттестов, это мало чему поможет имхо.
> Я не знаю много ли это совместимости или мало -- тут встаёт
> вопрос как определить шкалу для измерения.
Вот тебе метод получения шкалы: ставишь систему на свой компьютер. Выносишь остальные системы для полноты ощущений - no surrender, no retreat. Вот тогда видение шкалы придет. Вместе с проблемами и приоритетами развития. Но в реактосе за 20 лет это никто не сделал. Наворачивать декоративно-прикладные юнит тесты проще и комфортнее.
> Если в процентах от полной совместимости, то может быть и мало. Если же в абсолютных значения,
> то я полагаю, что много.
Стопроцентной совместимости нет даже между разными версиями винды, ни по драйверам ни по софту. Даже с этими галочками к этой подсистеме. Пруфом многочисленные KB на течнете. Одно только их отслеживание потребует небольшое бюро аналитиков. Ты же понимаешь сколько в ms сотрудников?
> И во всяком случае, я считаю, что это достаточно много для того, чтобы реализовывать уровень совместимости с
> разными вендами: такие вещи, чем раньше запилишь тем лучше будет, меньше кода потом придётся перелопачивать.
Вы исходите из в корне неверной предпосылки что прохождение юнит тестов кого-то к чему-то обязывает. Юнит тесты по определению проверяют юниты. Небольшие кусочки кода. Сферически, в вакууме. А когда реальная программа вызовет кучу всего и сразу - окажется что между юнитами еще взаимодействие требуется, при том в винапи оно довольно сложное. Но юнит тесты - вообще не про это, да и комбинаторный взрыв не отменяли.
Реактос отличный пример pitfall-а test driven development-а. Если чрезмерно увлекаться парадигмами и концепциями, можно ухитриться сделать все по фэншую, но результат все-равно будет полным гамном. Разработка проектов такого масштаба врядли может быть описана какой-то одной простой парадигмой. Иначе каждый второй индус уже затыкал бы мистера Торвальдса за пояс, путем тривиального следования нехитрым инструкциям. Это слишком хорошо и просто чтобы быть правдой.