githubModifier

Apprendre Go par les tests

Art par Denisearrow-up-right

Soutenez-moi

Je suis fier d'offrir cette ressource gratuitement, mais si vous souhaitez exprimer votre reconnaissance

Apprenez le développement piloté par les tests avec Go

  • Explorez le langage Go en écrivant des tests

  • Acquérez les bases du TDD. Go est un bon langage pour apprendre le TDD car c'est un langage simple à apprendre et les tests sont intégrés

  • Soyez confiant dans votre capacité à commencer à écrire des systèmes robustes et bien testés en Go

Cette traduction française a été effectuée par GooseGeeseJeezarrow-up-right.

Version originale (Anglais) : Learn Go With Testsarrow-up-right

Contexte

J'ai une certaine expérience dans l'introduction de Go auprès d'équipes de développement et j'ai essayé différentes approches pour faire évoluer une équipe, de personnes curieuses à propos de Go à des développeurs hautement efficaces de systèmes Go.

Ce qui n'a pas fonctionné

Lire le livre

Une approche que nous avons essayée consistait à prendre le livre bleuarrow-up-right et chaque semaine, à discuter du chapitre suivant ainsi que des exercices.

J'adore ce livre, mais il exige un niveau d'engagement élevé. Le livre est très détaillé dans l'explication des concepts, ce qui est évidemment excellent, mais cela signifie que le progrès est lent et régulier - ce qui ne convient pas à tout le monde.

J'ai constaté que bien qu'un petit nombre de personnes lisaient le chapitre X et faisaient les exercices, beaucoup ne le faisaient pas.

Résoudre des problèmes

Les katas sont amusants, mais leur portée pour apprendre un langage est généralement limitée ; il est peu probable que vous utilisiez des goroutines pour résoudre un kata.

Un autre problème se pose lorsque vous avez des niveaux d'enthousiasme variables. Certaines personnes apprennent beaucoup plus du langage que d'autres et, lorsqu'elles démontrent ce qu'elles ont fait, finissent par confondre les gens avec des fonctionnalités que les autres ne connaissent pas.

Cela finit par rendre l'apprentissage assez non structuré et ad hoc.

Ce qui a fonctionné

De loin, la méthode la plus efficace consistait à introduire lentement les fondamentaux du langage en lisant go by examplearrow-up-right, en les explorant avec des exemples et en les discutant en groupe. C'était une approche plus interactive que "lire le chapitre x pour les devoirs".

Au fil du temps, l'équipe a acquis une base solide de la grammaire du langage, ce qui nous a permis de commencer à construire des systèmes.

Pour moi, cela semble analogue à la pratique des gammes lorsqu'on essaie d'apprendre la guitare.

Peu importe à quel point vous vous considérez artistique, vous êtes peu susceptible d'écrire de la bonne musique sans comprendre les fondamentaux et pratiquer les mécanismes.

Ce qui fonctionne pour moi

Quand j'apprends un nouveau langage de programmation, je commence généralement par expérimenter dans un REPL, mais finalement, j'ai besoin de plus de structure.

Ce que j'aime faire, c'est explorer des concepts puis solidifier les idées avec des tests. Les tests vérifient que le code que j'écris est correct et documentent la fonctionnalité que j'ai apprise.

En m'appuyant sur mon expérience d'apprentissage en groupe et ma propre méthode personnelle, je vais essayer de créer quelque chose qui, je l'espère, s'avérera utile à d'autres équipes. Apprendre les fondamentaux en écrivant de petits tests afin que vous puissiez ensuite utiliser vos compétences existantes en conception de logiciels et déployer d'excellents systèmes.

À qui cela s'adresse

  • Les personnes intéressées par l'apprentissage de Go

  • Les personnes qui connaissent déjà un peu Go, mais qui veulent explorer davantage les tests

Ce dont vous aurez besoin

  • Un ordinateur !

  • Un éditeur de texte

  • Une certaine expérience en programmation. Compréhension des concepts comme if, les variables, les fonctions, etc.

  • À l'aise avec l'utilisation du terminal

Retour d'information

Licence MITarrow-up-right

Mis à jour