TGViewer
Test Engineering Notes Test Engineering Notes @testengineering · 4.01K subscribers
Post #684 1.84K
Як пишуть код в NASA

#engineering

Знайшов коротенький документ, що описує вимоги до написання коду в NASA. Тобто це "код для rocket science 🚀".

10 правил для safety-critical коду (на мові С):

1. Користуйтеся тільки простими конструкціями управління
2. Усі цикли повинні мати фіксований ліміт
3. Не користуйтесь динамічною памʼяттю після ініціалізації (привіт, Javascript!)
4. Функції не повинні перевищувати 60 строк (як максимум)
5. Не більше двох ассертів на функцію
6. Обʼєкти даних повинні створюватись на мінімально можливому рівні видимості
7. Результат non-void функцій перевіряє фукнція, що їх викликає; валідність вхідних параметрів перевіряється всередині кожної функції
8. Користування пре-процессорами та макросами повинно бути вкрай обмеженим
9. Посилання (pointers) повинні бути обмежені також
10. Весь код повинен бути компільованим, з першого дня розробки з усіма можливими перевірками на рівні компілятора. Усі помилки компіляції (навіть типу "warning") повинні бути виправлені одразу. Код повинен бути протестований як мінімум раз на день (більше - краще) з усіми можливими аналізаторами та із нульовою кількістю помилок.
YouTube NASAs Coding Requirements Are Insane 00:00 - Intro 4:52 - Restrict All Code 9:19 - All Loops Need A Fixed Upper Bound 10:37 - No Dynamic Memory Allocation 14:06 - 60 Lines 15:49 - 2 Assertions Per Function 19:28 - Data Objects 21:10 - Functions 24:29 - Limited Use Of Preprocessor 29:53 - Restricted…
  • 👍 40
More from @testengineering
  1. Oct 6, 2026Вже жовтень - саме час готуватися до ISTQB CT-GenAI "До Нового Року є ще цілий квартал щоб…
  2. Oct 5, 2026Ministry of Testing - англомовні івенти на всі смаки #testing #ai Всім привіт. Хочу розпов…
  3. Sep 30, 2026Скіл, щоб прибрати зайве #ai Цікавий скіл, щоб не продиратись через купу згенерованого тек…
  4. Sep 29, 2026Що таке агент? #ai Зрозумій, на небесах в тестуванні тільки й говорять, що про море агенті…
  5. Sep 28, 2026Navigating the AI Shift #testing@testengineering #ai@testengineering Трохи старе, але не м…
  6. Sep 25, 2026Сувора QA Конференція - AI в тестуванні Вже наступного тижня пройде найцікавіша онлайн-кон…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →