La protection contre les idiots implique bien plus que la simple validation des entrées. Je n'inclurais même pas une telle chose dans sa définition.
La validation des entrées est un processus par lequel vous nettoyez et validez les données utilisateur pour éliminer les valeurs illégales / absurdes. Cela doit toujours être fait avec toute information provenant de l'extérieur de votre programme afin d'éliminer les évidents ainsi que de vous protéger contre les attaques (par exemple les attaques par injection SQL).
Je considérerais que l'idiot-proofing est un ensemble de logique pour empêcher l'utilisateur de lui causer accidentellement de grands dommages par des moyens autrement légaux.
Par exemple, faire rm
rejeter la commande rm -rf /
et fermer les variantes n'a rien à voir avec la validation ou l'exactitude. C'est une commande parfaitement valide. Malheureusement, c'est une commande qui pourrait et peut effacer toutes vos données de tous vos disques sous Unix / Linux. Une mise à l'épreuve idiote rejetterait cette commande et suggérerait rm -rf --i-really-mean-this /
, ou en mode interactif, que l'utilisateur tape une réponse affirmative après un avertissement.
Tout ce qui est destructeur pour le système doit être à l'abri des idiots. Tout ce qui pourrait causer de l'embarras pourrait également être un candidat (par exemple, "êtes-vous sûr de vouloir envoyer cet e-mail sans pièce jointe même si vous en avez mentionné un dans votre texte?", Et "êtes-vous sûr de vouloir envoyer cet e-mail au toute l'entreprise? ")
L'Idiot-proofing est une collaboration entre l'AQ (essayant d'être le meilleur idiot) et le Développement (essayant d'anticiper tous ces scénarios et de les concevoir autour d'eux).
En ce qui concerne un synonyme plus convivial , puis-je suggérer une "analyse destructrice du chemin de code" ou "activer les commentaires des utilisateurs pour les opérations critiques". Quoi que vous l'appeliez, vous devriez vraiment le démarrer le plus tôt possible dans le processus de conception.