Non, le QA n'est pas votre testeur attitré
Non, le QA n'est pas votre testeur attitré. « QA » est un processus, pas un rôle : son vrai travail, c'est de faire grandir l'équipe.
Non, le QA n'est pas votre testeur attitré. « QA » est un processus, pas un rôle : son vrai travail, c'est de faire grandir l'équipe.
Mieux vaut un peu de duplication assumée qu'une abstraction prématurée qui mélange des règles métier qui n'ont rien à faire ensemble.
Quand faut-il lancer une exception, retourner une erreur ou modéliser l'absence ? La réponse se trouve dans l'intention métier.
Avant les composants, les tokens. Comment structurer un Design System cohérent grâce à une architecture de tokens bien pensée.
TypeScript n'est souvent utilisé qu'en surface. C'est vrai en particulier pour les Union Types, qui permettent d'empêcher des états incohérents.
Les exceptions ne sont pas faites pour gérer les erreurs prévisibles. Découvrez le type Result, alternative au try/catch.
Le PBT teste qu'un invariant métier est toujours vérifié quels que soient les paramètres et la valeur de retour de la fonction objet du test.
Un appel au pragmatisme en matière de développement logiciel : éviter le dogme, observer ce qui fonctionne et laisser la place au doute.
Un exemple d'optimisation d'algorithme (le jeu du gratte-ciel), et les enseignements que l'on peut en tirer. La loi de Pareto s'applique pleinement.
Cet indicateur n'est pas très utile si l'on ne sait pas ce qu'on met derrière… Il reste cependant interprétable essentiellement quand elle est faible !
Tous les tests ne rentrent pas dans une seule pyramide de tests. Il faut envisager plusieurs aspects : finalité, granularité et modalité d'assertion.
Les tests end-to-end doivent être utilisés avec parcimonie, car ils sont coûteux à écrire (Page Model) et coûteux à exécuter. Voici comment procéder.
L'ADR permet de rationaliser les décisions d'architecture d'une équipe et d'éviter qu'elles ne soient sans cesse remises en question.
Évitez de sur-anticiper : ne posez pas les bases de fonctionnalités futures, elles restent hypothétiques. Écrivez plutôt du code qui pourra évoluer.
Le Walking Skeleton a pour vocation de poser des fondations saines pour aller au MVP en minimisant la dette technique. Une étape que l'on gagne à formaliser.
Le Trunk-Based Development, tout droit issu de l'Extreme Programming, est une excellente alternative à GitFlow, mais étudiez bien les prérequis.
Construire un objet, c'est partir du comportement. La donnée qu'il encapsule s'en déduit et constitue un détail d'implémentation.
Clean Code est un livre de référence : une lecture linéaire, de A à Z, n'aurait que peu de sens. Il faut lire, expérimenter et y revenir fréquemment.
Vous appelez une librairie, mais c'est le framework qui vous appelle. La différence, c'est l'inversion de contrôle.
S'il est un outil merveilleux, le TDD ne se prête pas à tous les développements, au risque de tomber dans la loi de l'instrument.
Le typage structurel est limitatif lorsqu'on veut faire de la programmation défensive. Heureusement, il est possible d'émuler un typage nominal (branding).
Il faut distinguer les erreurs de développement, que l'on traite avec des exceptions, des erreurs de saisie utilisateur.
Le code est immatériel. Alors, pour le rendre plus intelligible, on a recours à des métaphores du monde concret, en particulier le patrimoine immobilier.
Une contre-argumentation point à point à l'article phare de David Heinemeier Hansson, détracteur du Test-Driven Development.
Je mets au défi quiconque de me prouver qu'il est plus efficace de se passer de typage statique pour construire une application JavaScript.
Le Clean Code est un bon point d'entrée, suivi par le TDD et la Programmation Fonctionnelle. Attendre un peu pour le DDD et le refactoring !