Pull to refresh

Comments 22

Описали бы кратко какие-то интересные моменты и тонкости.
Или хотябы просто список ключевых слов что используется.
Сейчас совершенно нет времени смотреть доклад, а потом могу вовсе забыть.
Посмотрел. В целом, ничего экстроординарного:

— Стандарт кодирования с проверкой по коммиту: lars-lab.jpl.nasa.gov/JPL_Coding_Standard_C.pdf (язык программирования С, 32 правила).
— Ежедневная сборка со статическим анализом кода (5 разных анализаторов, пересисляются на 20:30, полный список всего что выполняется в рамках сборки на 36:00), warning считается ошибкой, штрафы за сломанный билд.
— Code review с использованием Scrub (некая внутренняя тулза, наружу не отдают, судя по описанию и скриншотам — примитивный аналог phabricator / crucible с агрегатором ошибок и варнингов компиляции / анализаторов, подробнее тут: spinroot.com/gerard/).
— Юнит тесты.
— Ежедневные интеграционные тесты, штрафы за сломанный интеграционный тест.
— Некая штука, которую они называют 'logic verification with model checker' для ключевых частей программы. Скорее всего, это математическая доказательство корректности на основании модели.
— Wall of shame — доска почета по количеству ошибок/варнингов и прочего, герои TOP-3 демонстрируются на весь офис. Никто не хочет быть в топе :).
Штрафы, «герои» по ошибкам. Какое-то очень некрасивое отношение к программистам.
Вообще ужасное, мне кажется. С другой стороны — ответственность за миллиарды долларов, внимание всего человечества и право сказать «я программировал марсоход». Немало.
С другой стороны, «сломать билд» и «уронить марсоход в след за „фобосом“» — разные вещи.
Не снежинки на главную делают.
Красивое отношение к продукту.
UFO just landed and posted this here
В видео эти вопросы затрагиваются, так например для написания 3.8 миллиона строк кода было задействовано 40 девелоперов, в течении 5 лет и они в среднем писали 10 строк полностью тестируемого кода в час. А написано это всё на VxWorks.
UFO just landed and posted this here
Виноват. Я в этой теме очень поверхностно разбираюсь.
UFO just landed and posted this here
Вы видео посмотрите :) Там рассказывается что тестеров было несколько сотен и был очень жёсткий Code review.
Ну да, а как же отдел маркетинга и продаж? :)
40 х $100k/year x 5year = 20 лямов зелени стоил код. И тут не учтены тимлиды, архитекторы и прочие нужные товарищи.
Скорее всего намного больше, $100k/year как то очень мало для safety-critical.
8 штук в месяц это мало? Да они зажрались.
$100k/year это средняя зарплата разработчика в США. И это не так уж и много. Если посчитать сколько надо заплатить налогов, за страховку, за жилье, за детский садик и прочее, то останется сильно меньше половины.
Код должен быть невероятного качества
Вот такой бы код в виде модулей, да в open source.
Вспомнилось из «Сто правил руководителей проектов NASA»
Правило 5. Руководителями проектов могут быть порочные, презренные и совершенно неприятные люди. Бездушные, нерешительные копуши или болтуны – нет.

Правило 61. Большая часть оборудования изготавливается не так, как планировал конструктор. Это связано с размещением оборудования, плохим пониманием конструктивных решений или с плохим пониманием спецификации оборудования.

Правило 63. Программное обеспечение не перекрывает всех параметров аппаратной части (меняются требования, высок процент стоимости полётов, требуются процедуры подтверждения и т.д.). Дополнительная особенность заключается в необходимости поиска возможных ошибок. То есть необходимо, чтобы сначала отработала основная система, после чего могут начаться звонки и свистки. Никогда не отказывайтесь от уже работающей версии программного обеспечения, даже если весь остальной мир будет утверждать, что более новая версия программного обеспечения работает. Это совершенно необходимо, чтобы иметь планы на случай непредвиденных обстоятельств.

Правило 79. Следующий год – это всегда год с нормальным финансированием и графиком работ. Такой следующий год наступит на пятидесятом году вашей карьеры.

Sign up to leave a comment.

Articles