Du typage ou des tests ... un équilibre à trouver

Dans le monde craft, il est fréquent d’entendre que le typage fort permet de réduire le nombre de tests. Petit expérience avec le kata tennis en rust.

Je gros avantage de ce kata c’est qu’il est relativement simple, riche en vocabulaire métier et suffisamment complexe pour nécessiter une documentation.

Au tennis, les points sont comptés de la façon suivante, en français, ça part de « 0 - 0 » pour aller jusqu’à « Jeu XX » en passant par « Égalité » ou « Avantage XX ». Un système complexe qui trouverait ses origines dans les pénalités du jeu de paume, obligeant le joueur à reculer à quinze, trente et quarante pas, au fur et à mesure de l’avancement du jeu.

#Software Craftsmanship #Typing #Rust

Encore un sujet de DS très TDD

Comme l’année dernière avec le sujet pagination 7 mes collègues et moi même avons rédigé un sujet de DS sur table (i.e sans ordinateur) pour valider la bonne compréhension du TDD de nos étudiants de seconde année de BUT. L’exercice de cette année était le suivant :

Le sujet

Nous allons chercher à tester une classe “compte en banque”, sur laquelle il est possible de faire les opérations suivantes :

  • static CompteEnBanque creer(String name)
  • void depot(Double montant)
  • void retrait(Double montant)
  • Double solde()
  • List<Transaction> historique()

Rédigez et ordonnez les tests que vous feriez dans une approche TDD. Pour chaque test, donnez l’intention de code qu’il fait émerger.

#Tdd #Software Craftsmanship

La restructuration de code, bonnes pratiques et stratégies

Trop long ; pas envie de tout lire (TLDR)

Afin d’améliorer la qualité de notre code en le restructurant, il y a un pré-requis :

  • avoir un bon harnais de test.

et 2 stratégies :

  • Appliquer chaque règle de “clean code” une par une sur l’intagralité du code avant d’en changer.
  • Suivre l’arbre de vos envies de modification et commencez par les feuilles. C’est la technique du mikado.

La restructuration de code : bonnes pratiques et stratégies

J’aime beaucoup le beau code, l’agilité et le logiciel libre. Depuis plus de 20 ans, j’aide les équipes et les développeurs à produire un code plus maintenable, plus utile et surtout à produire ce code sereinement, paisiblement, sans le stress de la productivité ou l’angoisse des bugs.

#Software Craftsmanship #Coaching

Un sujet de DS très TDD

Proposer un sujet pour valider la bonne compréhension du TDD à des étudiants qui vont composer sur papier n’est pas évident. Dans le dernier sujet de DS que nous avons élaboré (mes collègues et moi même) il y avait cet exercice sur 5 points.

Le sujet

Pour faire apparaître les possibilités de navigation dans un long texte, on peut utiliser les notions de première page, page précédente, page courante, page suivante, et dernière page. Une proposition d’affichage de ces options de manière concise est la « pagination seven » qui utilise au plus 7 positions. Pour des petits documents (7 pages ou moins), on affiche tous les numéros de pages :

#Tdd #Software Craftsmanship

7 ans d'évolutions de java - java 9

18 mars 2014, publication de Java 8. Septembre 2017 arrivée de Java 9 et lancement d’une grande nouveauté, nous aurons à partir de ce moment, une nouvelle version de Java tous les 6 mois.

Je vous propose un retour sur les nouveautés qui ont jalonnés ces années d’évolution. Aujourd’hui, première partie, Java 9.

#Java #Software Craftsmanship