Код для марсохода
#разработка
Задумывались ли вы, что значит отказоустойчивое приложение? Для кого-то — 99.9% crash free в Crashlytics. Для других — полное покрытие тестами. Действительно, такие характеристики показывают, насколько хорошо работает приложение и как сильно разработчики задумались о различных сценариях поведения приложения.
Даже если приложение падает или работает с ошибками, то это приведет к негативу со стороны пользователя, причем ошибки чаще можно поправить в следующем релизе. А иногда сделать вид, что ошибки нет, если устройство редкое и пользователей на таких девайсах пара человек.
А что если ошибка или краш софта приведет к потерям миллиардов долларов и нескольких лет подготовки? Недавно попалась лекция Джерарда Хольцмана из Лаборатории реактивного движения, который рассказал о стандартах программирования при разработке софта для марсохода Curiosity.
Например:
• 3,5 миллиона сверхнадежного кода на языке C;
• 10 строк кода в час в течении 5 лет;
• 40 разработчиков;
• обязательное тестирование всего кода;
• warning считается за ошибку;
• ежедневные сборки и анализ билдов на 5 анализаторах;
• штраф за сломанный билд;
• доска позора для разработчиков.
Наверное, такой продукт один из самых дорогих в мире. Интересно, сколько было бы приложений в Google Play, если бы такие подходы применялись к мобильной разработке?
Post #72
1.88K