La semaine dernière, nous avons travaillé sur l'analyse de notre nouveau formulaire d'articles, bien que nous ayons rencontré des exceptions NullPointer pour gérer les données manquantes ou invalides.
Le retour que j'ai eu de David Denton, l'un des développeurs de http4k, était : « Vous savez que vous pouvez utiliser les lentilles de formulaire ici et éviter tout ce bullshit ? »
Donc, dans cet épisode, nous allons refactoriser le code actuel pour utiliser les lentilles de formulaire et voir combien de bullshit nous évitons réellement.
Moments significatifs
* 00:00:38 Nous avons trouvé deux bugs
* 00:01:35 Recréer un bug dans les tests
* 00:04:00 Corriger le bug aussi rapidement que possible
* 00:04:47 Refactoriser pour améliorer les choses
* 00:05:36 Ajouter des tests pour d'autres choses qui pourraient ne pas fonctionner
* 00:06:15 Elles fonctionnent, donc commit
* 00:06:27 Revoir notre implémentation et nos tests
* 00:07:26 Refactoriser nos tests pour révéler l'intention
* 00:09:40 Refactoriser l'analyse pour utiliser des lentilles
* 00:13:21 L'assistant IA est utile
* 00:15:17 Bug de refactorisation IntelliJ
* 00:21:23 Bug http4k
* 00:23:49 Utiliser des lentilles pour diagnostiquer plusieurs échecs
* 00:24:37 Inline et extraire pour refactoriser vers une meilleure sémantique
* 00:30:17 Élever un événement pour les échecs d'analyse
* 00:31:22 Retour à l'épisode Erreurs sont des Événements
* 00:31:25 Création d'un matcher Hamkrest personnalisé
* 00:38:02 Commit
* 00:38:14 Revue
* 00:38:46 Corriger le bug où nous avons deux formulaires entrelacés
* 00:41:19 Revue
Ceci est la partie 86 d'une exploration de l'endroit où une implémentation de Développement Dirigé par les Tests du système de contrôle des stocks Gilded Rose pourrait nous mener en Kotlin. Vous pouvez voir toute la série sous forme de playlist
et le code sur GitHub
Si cela vous plaît, vous aimerez probablement mon livre Java to Kotlin, A Refactoring Guidebook
(
http://java-to-kotlin.dev). Il traite de bien plus que les simples différences de syntaxe entre les langages - il montre comment faire évoluer votre pensée vers un style plus fonctionnel.