Blog Arolla

Catégorie : Programmation

Man versus Legacy : Gilded Rose (deuxième partie )

Dans le premier épisode nous avions expliqué le contexte du kata et proposé une approche permettant de travailler la réécriture du code en toute sécurité. Pour cela nous avions écrit des tests de caractérisation, jusqu’à l’obtention d’un golden master. Nous avons toute latitude pour refactorer le code afin d’y voir plus clair. La moindre erreur…

Man versus Legacy : Gilded Rose (première partie)

Intervenir sur des bases de code pénibles constitue une des réalités ingrates du métier de développeur. Ce type de code est fréquemment qualifié du terme politiquement correct de legacy. A l’origine, on désignait ainsi du code très ancien, et peu voire pas documenté. Le consensus actuel se réfère à du code démuni de tests, peu…

Trying to set up my mind on Redux as an event sourcing system

When starting a project using Redux, developers often wonder after which pattern they should name actions. E.g, considering a counter application: INCREMENT_COUNTER or COUNTER_INCREMENTED? This is certainly not only a question of naming. In fact, it reveals at least 3 entangled questions: Are we speaking of commands or events? Should the action bear a payload?…

Tester ce que l’on ne maîtrise pas

Les vacances de fin d’année ont été un peu courtes. Disons plutôt le week-end, étant parti le vendredi 28 décembre, me voilà déjà de retour au travail le mardi 2 janvier… On ouvre le backlog de la nouvelle année, on prend une nouvelle tâche, on l’analyse et, en bon praticien du TDD, on écrit un nouveau test.…

Le dilemme entre code expressif et code générique FP

Utiliser au mieux la plomberie fournie par le langage de programmation ou exprimer au mieux le domaine métier ? C’est le dilemme habituel dans un langage de programmation tel que Java. Voyons cela de plus près au travers de quelques exemples, et comment nous parvenons à résoudre ce problème avec plus ou moins de bonheur…

Gestion de projet, développement logiciel et Effective Java : revue de presse de mars

Pour ce mois de mars ne parlons pas des giboulées, mais plutôt de gestion de projet, de développement logiciel et de la 3e édition du livre Effective Java. Pour commencer, parlons de gestion de projet et plus particulièrement du « continuous delivery ». Autrement dit, comment livrer un projet de façon incrémentale ? Dans l’article, l’exemple est très…

Coût, complexité et sémantique : la revue de presse de février

Dans cette nouvelle revue de presse, il sera question de coût, de complexité et de sémantique. Trois leviers avec lesquels il faut souvent jouer pour atteindre le résultat tant attendu. Vaste programme ! Nous allons parler encore une fois d’un buzzword : « severless ». L’idée derrière ce terme est de ne payer que ce que l’on consomme. C’est…

Montez le niveau de votre gestion des erreurs !

  Lors d’une de mes missions avec une architecture classique en couches et sans service de routage, j’ai eu de nombreuses discussions et incompréhensions avec mes collègues quant à la gestion des erreurs. Plutôt que de rester dans le débat théorique, j’ai voulu essayer sur un exemple “classique” toutes les techniques auxquelles je pouvais penser.…

Revue de presse de janvier : des solutions pour chaque étape du cycle de développement !

Chères lectrices, chers lecteurs, je vous souhaite tout d’abord une très bonne année 2018 ! Pour bien commencer l’année, voici une sacrée question : pourquoi écrire un test et à quoi cela peut-il me servir ? Cela peut paraître trivial pour beaucoup d’entre vous, mais avec la routine, il y a un risque de perdre l’objectif initial. Cet article…

Architectures, librairies et performance : La revue de presse de décembre

Dernière revue de presse de l’année ! Pour terminer 2017 en beauté, parlons architectures, librairies, & performance. Commençons par un « gros » mot : Monad. Mais attention ! Pas question de le définir par d’obscures formules mathématiques. Ici, l’auteur définit ce qu’est une Monad au sens pratique du terme et explique surtout comment implémenter un DSL dans le langage…