Лучшее, что я выпустил на этой неделе, — это не функция. В README было предложение: настоящая беспроводная связь невозможна, и этот инструмент не претендует на иное. Всё остальное в сборке — восемь пакетов, 190 пройденных тестов, демонстрационное видео, которое...
Лучшее, что я выпустил на этой неделе, — это не функция. В README было предложение: настоящая беспроводная связь невозможна, и этот инструмент не претендует на иное.
Все остальное в сборке — восемь пакетов, 190 пройденных тестов, демонстрационное видео, на правильное получение которого потребовалось две попытки — было бы бесполезным рядом с этим предложением, потому что сейчас отраслевой стандарт противоположен: демо-версии, которые незаметно вырезают все, что продукт не может сделать, и файлы README, написанные как реклама. Я решил провести эксперимент наоборот. Сначала опубликуйте ограничения, а потом функции. Посмотрите, что выживет.
Демо, которое рассказало правду
Проект — PhoneHands, инструмент автоматизации iPhone с открытым исходным кодом — один движок API и один движок устройства с автоматическим переходом между ними. Вот как на самом деле выглядела сборка без обрезки:
190 тестов, все зеленые, в восьми упаковках. Охват от 91 до 98 процентов. Не "тщательно проверенный" — 190 зеленых, цифру можно посчитать.
Конвейер CI неоднократно давал сбои на обеих платформах, прежде чем был пройден — три раунда на iOS, три на Android. Каждый сбой фиксировался в одном сегменте и повторно проверялся в этом сегменте, прежде чем прикасаться к следующему — жестко запрограммированная ошибка.