La semaine dernière, je faisais référence au mantra “code is cheap”. Depuis, j’ai trouvé le projet “Agentic Engineering Patterns” de Simon Willison qui documente les patterns pratiques pour travailler et obtenir les meilleurs résultats possibles avec l’IA.
On y retrouve une section “Writing code is cheap now” avec toute fois une nuance que je partage: “Good code still has a cost”. Ce qu’il y explique a pour moi toujours était vrai même avant l’IA. Écrire du code est facile, mais écrire du bon code, ça l’est moins et c’est ce point qui représente un coût.
Pour lui, un “bon code” a les caractéristiques suivantes:
- il fonctionne réellement: il fait ce qu’il est censé faire, sans bugs majeurs.
- on sait qu’il fonctionne: il existe des preuves (tests, validation, vérifications) qui inspirent confiance.
- il résout le bon problème: produire une solution techniquement correcte, mais inutile reste un échec.
- il gère les erreurs proprement: pas seulement le scénario idéal, mais aussi les cas d’échec, avec des messages exploitables pour le futur debugging.
- il reste simple et minimal: éviter la complexité inutile et l’“over-engineering”.
- il est protégé par des tests: pour éviter les régressions quand le code évolue.
- il est documenté: et la documentation doit rester synchronisée avec le comportement réel du système.
- il reste évolutif: il ne doit pas compliquer inutilement les changements futurs, tout en évitant d’anticiper des besoins hypothétiques (principe YAGNI).
- il respecte les qualités non fonctionnelles: sécurité, maintenabilité, observabilité, accessibilité, fiabilité, scalabilité, etc., selon le contexte du projet.
Je vous recommande vivement d’aller jeter un coup d’oeil au projet: https://simonwillison.net/guides/agentic-engineering-patterns/