J'ai beaucoup réfléchi à ce problème récemment - la réponse simple est d'aller lire La conception des choses de tous les jours de Don Norman; Écrivez le code comme vous concevriez un produit.
Pour paraphraser, une bonne conception minimise les erreurs. Cela signifie, quelques choses, dont la plupart vous faites déjà (même si vous ne savez pas exactement pourquoi ).
-Nom fonctionne intuitivement. C'est ce que l'on appelle officiellement l'accessibilité. C'est-à-dire qu'un bouton permet d'être pressé, un levier permet d'être commuté, une poignée à tirer, etc.
-Rendre difficile d'écrire du mauvais code. Recherchez les mauvaises entrées et lancez les erreurs le plus tôt possible, utilisez des applications hongroises le cas échéant, etc. Ces fonctions sont appelées fonctions de verrouillage.
-Utilisez l'abstraction le cas échéant. La mémoire à court terme est faible.
-La documentation est évidemment importante, mais c'est la moins efficace pour s'assurer que le code est utilisé correctement. En bref, les produits bien conçus n'ont besoin d'aucune documentation. (La façon la plus évidente de voir cela est de regarder de mauvais exemples: à savoir, les portes avec poignées que vous êtes censé pousser.)
-Tests unitaires. Ceux-ci n'empêchent pas vraiment les erreurs, autant qu'ils rendent évident où se trouvent les bogues et fournissent une raison.
Je suis sûr que je manque beaucoup d'autres principes, mais le point est, lisez la conception de l'erreur.