Для повної відповіді на це питання я б придушив думку про "надійність коду" і замість цього подумав про "надійність дизайну", оскільки код - лише остаточний вираз дизайну.
Отже, почніть з вимог і напишіть та огляньте їх. Якщо у вас немає документа з вимогами, вкажіть на випадковий рядок коду і запитайте себе "для чого потрібен цей рядок?" Необхідність будь-якого рядка коду повинна врешті бути простежена до вимоги, навіть якщо це так просто / очевидно, як "джерело живлення виводить 5В постійного струму, якщо вхід знаходиться між 12-36В постійного струму". Один із способів думати про це полягає в тому, що якщо цей рядок коду неможливо простежити до вимоги, то як ви знаєте, що це правильний код або що він взагалі потрібен?
Далі перевірте свій дизайн. Це нормально, якщо він повністю міститься в коді (наприклад, у коментарях), але це ускладнює розуміння того, чи робить цей код дійсно мається на увазі. Наприклад, у коді може бути рядок, який читає output = 3 * setpoint / (4 - (current * 5));
Чи current == 4/5
дійсний вхід, який може спричинити збій? Що слід зробити в цьому випадку, щоб запобігти діленню на нуль? Ви взагалі уникаєте операції або замість цього погіршуєте вихід? Маючи загальну примітку у своєму проектному документі про те, як поводитися з такими крайовими корпусами, це набагато простіше перевірити дизайн на більш високому рівні. Отже, зараз перевірка коду простіша, тому що це питання перевірити, чи правильно реалізується цей дизайн.
Поряд із цим, перевірка коду повинна перевірити наявність поширених помилок, які не виявляє ваш IDE (ви використовуєте IDE, правда?), Наприклад "=", коли ви мали на увазі "==", відсутні дужки, які змінюють значення "якщо 'заяви, крапки з комою, де їх не повинно бути тощо.
Коли я це пишу, мені здається, що насправді важко узагальнити роки навчання / досвіду якості програмного забезпечення в одній посаді. Я пишу код для медичних приладів, і вищесказане є надзвичайно спрощеним підсумком того, як ми підходимо до нього.