Software Craftsmanship

Software Craftsmanship

Le refactoring c’est tout le temps, et c’est normal. (épisode 8 – le travail du développeur)

Deux mois ont passé depuis l’échange avec Marc. Charlotte et Malik vénèrent le refactoring. Ils se sont isolés des autres, ça tombe bien ils ne sont que deux développeurs sur leur projet. Ils ont bien tenté de présenter leur démarche aux autres développeurs de la société, ils ont animé un atelier à la communauté des développeurs. Les réactions ont été décourageantes : « Impossible chez nous, c’est trop gros. — Chez nous c’est très compliqué, il y a beaucoup de règles légales à respecter.  —…

Lire la suite
Software Craftsmanship

Le refactoring c’est tout le temps, et c’est normal. (épisode 7 – le développement est sinueux, pas linéaire)

Cela fait maintenant deux semaines que Charlotte suit les conseils de Marc. Les nouvelles fonctions sont faciles à reconnaître, ce sont celles qui ont des tests. Une cinquantaine de tests pour une dizaine de nouvelles fonctions. Facile à lancer, facile à débugger. Avant elle ne touchait plus à son code quand il marchait. Aujourd'hui, si elle ne peut pas y toucher, elle suspecte que le code ne marche pas. Avant, coder vite la grisait. Aujourd’hui, coder lentement la rassure. Le lièvre et la tortue, ça…

Lire la suite
Software Craftsmanship

Le refactoring c’est tout le temps, et c’est normal. (épisode 6 – pas facile)

Deux heures que Charlotte écrit ce test. Pourtant avec Marc c’était rapide. C’est le premier qu’elle écrit toute seule et c’est douloureux. Elle râle :  « Avec Marc on n’avait fait que le début en fait.  « En fait, c'était un cas facile. « C’était facile car nous n’avons pas fait grand-chose. » Charlotte n’arrive pas à écrire un test. Deux heures que ça dure et ce n’est pas fini.  « Ça ne marche pas son truc. » De plus, elle a l’impression d’écrire des…

Lire la suite
Software Craftsmanship

Le refactoring c’est tout le temps, et c’est normal. (épisode 5 – un nouvel espoir)

Charlotte est très attentive. « Charlotte, comment vas-tu tester ? » Déconcentration totale : Charlotte ne comprend pas pourquoi Marc pose cette question. « Je ne sais pas encore. — Tu dois le savoir maintenant. » Charlotte a du mal à rester concentrée. « Marc, d’abord nous codons. Après, nous testons. — Non, coder, ce n’est pas un travail à la chaîne. Coder nécessite beaucoup d’allers retours pendant le développement. Ton mail, tu l’as écrit en une fois ?  — Non, Marc, mon mail, je…

Lire la suite
Software Craftsmanship

Le refactoring c’est tout le temps, et c’est normal. (épisode 4 – montre moi)

Marc prend le clavier. Il parcourt le code en le lisant à voix haute. Ça va vite. Charlotte a du mal à anticiper les déplacements du curseur sur l’écran, elle cherche un repère en regardant les mains de Marc sur le clavier. Il utilise des raccourcis, elle ne sait pas ce qu’il fait. Elle ne comprend rien.  Elle se sent nulle. « Ça, ça n’a pas besoin d’être gros : ces fonctions sont longues et celles-là ont plus de trois paramètres, c’est trop.  « C’est…

Lire la suite
Software Craftsmanship

Le refactoring c’est tout le temps, et c’est normal. (épisode 2 – il y en a partout)

C’est un tel plaisir que ça en semblerait facile. Pourtant, ce n’est plus le cas. Cela devient compliqué même. Normal, avec tout ce qu’elle a déjà réalisé. Elle a pourtant fait bien attention au fur et à mesure, elle n’a pas développé des fonctions trop grosses, et le plus souvent, elle a réutilisé des fonctions existantes. Elle a travaillé proprement. Trois objets, c’était évident. D’ailleurs elle y a pensé dès le début. À la réflexion elle est gênée car dans l’objet Devinette rien ne s’appelle…

Lire la suite
Software Craftsmanship

Le refactoring c’est tout le temps, et c’est normal. (épisode 1 – le plaisir de coder et glossaire)

Charlotte s'est lancée dans le développement de son application. À la joie de créer en codant succède rapidement la difficulté de créer un code simple, fiable, exprimant ses intentions. Comment ranger le code ? Elle sollicite son ami Marc qui, d'abord critique, lui montrera ensuite comment grâce au refactoring et au développement piloté par les tests, créer un code à la fois solide et flexible.

Lire la suite
Software Craftsmanship

Nous sommes allés à SoCraTes 2022 – 6e édition

Nous sommes quelques Octos a avoir eu la chance de participer à la 6e édition de SoCraTes France (https://twitter.com/SoCraTes_FR/status/1505625869519396864). Pour poser le contexte, qu’est-ce que SoCraTes ? SoCraTes (pour Software Craft and Testing) c’est un temps (3 jours et … 3 nuits) où une soixantaine de personnes se retrouvent dans un endroit sympathique pour échanger, partager, et coder. Le format est simple : c’est un Open Space où tout le monde est libre de proposer des sujets en début de chaque journée, un agenda s’organise…

Lire la suite
Software Craftsmanship

Deux techniques de base pour le code Legacy

Cet article présente Sprout Method et Wrap Method, deux techniques très utiles quand : on travaille sur du code non testé (une des définitions possibles de “code legacy”)on souhaite y ajouter une fonctionnalité couverte par des tests (la “reason to change”). Ces deux techniques sont les premières techniques présentées par le livre “Working Effectively with Legacy Code”, de Michael Feathers (WEWLC). Elles permettent d’ajouter du code testé dans du code difficile à tester, et ce sont aussi de bonnes premières étapes vers un meilleur design. …

Lire la suite
Software Craftsmanship

Le backlog est vivant, il bouge avec des feedbacks (épisode 8 – c’est un succès)

La foule est en liesse.  Et c’est peu dire.  Théo et Léa utilisent l’application autant que leurs autres applications. Les GAFA n’ont qu’à bien se tenir. Et pourtant il y en a encore eu de belles. Le plus gros changement est arrivé tard, c’était énervant de devoir le reconnaître. Les lots de feedbacks amènent leurs lots de changements, Charlotte en avait accepté l’idée. Et pourtant c’était encore surprenant. Théo avait dit dès l’itération 2 : « La règle des 100%, tu peux l’enlever ? »…

Lire la suite