Pour une réponse complète à cette question, je supprimerais la réflexion sur la «fiabilité du code» et je penserais plutôt à la «fiabilité de la conception», car le code n'est que l'expression finale de la conception.
Alors, commencez par les exigences et écrivez-les et inspectez-les. Si vous n'avez pas de document d'exigences, pointez sur une ligne de code aléatoire et demandez-vous "pourquoi cette ligne est-elle nécessaire?" Le besoin de n'importe quelle ligne de code devrait éventuellement être lié à une exigence, même si elle est aussi simple / évidente que "l'alimentation doit produire 5VDC si l'entrée est entre 12-36VDC". Une façon de penser à ce sujet est que si cette ligne de code ne peut pas être attribuée à une exigence, alors comment savez-vous que c'est le bon code, ou qu'il est nécessaire du tout?
Ensuite, vérifiez votre conception. C'est OK si c'est complètement dans le code (par exemple, dans les commentaires), mais cela rend plus difficile de savoir si le code fait ce que l'on veut vraiment dire. Par exemple, le code peut avoir une ligne qui lit output = 3 * setpoint / (4 - (current * 5));
Est-ce current == 4/5
qu'une entrée valide pourrait provoquer un crash? Que faire dans ce cas pour éviter la division par zéro? Évitez-vous complètement l'opération ou dégrade-t-il la sortie à la place? Avoir une note générale dans votre document de conception sur la façon de gérer de tels cas de bord facilite la vérification de la conception à un niveau supérieur. Ainsi, maintenant l'inspection du code est plus facile car il s'agit de vérifier si le code implémente correctement cette conception.
Parallèlement à cela, l'inspection du code devrait vérifier les erreurs courantes que votre IDE ne détecte pas (vous utilisez un IDE, n'est-ce pas?) Tels que '=' lorsque vous vouliez dire '==', des accolades manquantes qui changent la signification de 'si 'déclarations, points-virgules où ils ne devraient pas être, etc.
Au moment où j'écris ceci, il me semble qu'il est vraiment difficile de résumer des années de formation / expérience de qualité logicielle dans un seul poste. J'écris du code pour les dispositifs médicaux et ce qui précède est un résumé extrêmement simplifié de notre approche.