L’article explore la vertu de la paresse en programmation, popularisée par Larry Wall dans Programming Perl, qui encourage la création d’abstractions pour simplifier le travail futur. L’auteur souligne que cette paresse intelligente, bien que semblant contre-intuitive, nécessite un effort intellectuel important pour concevoir des solutions élégantes et réutilisables. Cependant, il critique l’évolution récente où cette notion a été détournée par une culture de productivité superficielle, incarnée par des figures comme Garry Tan, qui glorifient une écriture de code frénétique et désordonnée, notamment avec l’aide des IA génératives.
L’auteur dénonce l’absurdité d’une approche où la qualité du code est mesurée en lignes produites par jour, comparant ironiquement les 37 000 lignes quotidiennes de Tan à la taille totale de DTrace (60 000 lignes). Il illustre cette dérive avec l’exemple d’un projet de Tan, un "blog-newsletter-thingy", truffé de composants inutiles comme des tests redondants, une application Rails basique et plusieurs variantes de logo, dont une vide.
Enfin, l’article met en garde contre la perte de sens de la paresse comme vertu, notamment avec l’essor des outils automatisés qui amplifient une productivité illusoire. L’auteur plaide pour un retour à une paresse réfléchie, où l’abstraction sert non seulement le développeur actuel, mais aussi la communauté, en évitant les pièges d’une industrie obsédée par la quantité plutôt que par la qualité et la durabilité du code.
Tout est dans le titre
Tout est dans le titre
L'idée de l'auteur est de rajouter un service chargé d'hydrater l'entité en fonction des données envoyées, en utilisant l'API de réflexion de PHP.
Cela évite, si on a beaucoup de champs, de gonfler la taille des contrôleurs, etc.
Soit une classe Fille, héritant de la classe Mère. La classe Fille a une méthode methodeFille. Si j'instancie un objet O de la classe Mère, je ne peux pas appeler la méthode methodeFille. L'auteur explique comment faire dans ce cas
Des réflexions sur le design d'interfaces utilisateur