Здравствуйте, BlackEric, Вы писали:
BE>Собственно, краткое описание со ссылками на литературу содержится по следующей ссылке: BE>On Curiosity and its software Getting 2.5 Megalines of code to behave
BE>Наибольший интерес, пожалуй, представляют ссылки на источники в конце статьи.
Супер. Интересно, каким образом они доказывали отсутствие дедлоков — ведь в ПО больше сотни потоков.
Update. Сам нашел:
The use of semaphores or locks to access shared data should be avoided (cf. Rules 6 and 8). If used, nested use of semaphores or locks should be avoided. If such use is unavoidable, calls shall always occur in a single predetermined, and documented, order.
NASA’s been writing mission-critical software for space exploration for decades, and now the organization is turning those guidelines into a coding standard for the software development industry.
Здравствуйте, BlackEric, Вы писали:
BE>Собственно, краткое описание со ссылками на литературу содержится по следующей ссылке: BE>On Curiosity and its software Getting 2.5 Megalines of code to behave
BE>Наибольший интерес, пожалуй, представляют ссылки на источники в конце статьи.
Прикольно. Оттуда:
The rule of zero warnings applies even in cases where the compiler or the static analyzer gives an erroneous warning. If the compiler or the static analyzer gets confused, the code causing the confusion should be rewritten so that it becomes more clearly valid
Здравствуйте, ArtDenis, Вы писали:
AD>Прикольно. Оттуда: AD>
AD>The rule of zero warnings applies even in cases where the compiler or the static analyzer gives an erroneous warning. If the compiler or the static analyzer gets confused, the code causing the confusion should be rewritten so that it becomes more clearly valid
Это правильно, т.к. цена ошибки может измеряться в миллиардах.
NASA’s been writing mission-critical software for space exploration for decades, and now the organization is turning those guidelines into a coding standard for the software development industry.
Со всем согласен, кроме п. 9, его, скорее всего, не понял. Чем им не угодили многоуровневые разыменования? Ни разу в жизни не видел, чтоб это приводило к проблемам. Что вообще имеется в виду? Не писать **ppUnk? По-моему, компилятор с системой типов достаточно надежно проверяет, что лишних * или & нет.
Re[4]: Немного о ПО Curiosity и стандартах кодирования JPL
Здравствуйте, 0BD11A0D, Вы писали:
BDA>Со всем согласен, кроме п. 9, его, скорее всего, не понял. Чем им не угодили многоуровневые разыменования? Ни разу в жизни не видел, чтоб это приводило к проблемам. Что вообще имеется в виду? Не писать **ppUnk? По-моему, компилятор с системой типов достаточно надежно проверяет, что лишних * или & нет.
Читать сложно. И не факт что где-то звездочка не потеряется в итоге.