Important
Voici une version plus propre et plus simple: https://github.com/gokatas/gokatas
Les katas (形) sont pratiqués dans les arts martiaux comme un moyen d'internaliser et de perfectionner les techniques afin qu'ils puissent être exécutés et adaptés dans différentes circonstances, sans pensée ni hésitation. Essayons la même chose avec le code Go.
L'approche est assez faible. GO KATAS est une liste de répertoires contenant des programmes B de brefs et bien écrits. Sélectionnez l'un d'eux et essayez de le comprendre. Ensuite, réécrivez-le partiellement ou à partir de zéro jusqu'à ce que vous vous sentiez à l'aise. Utilisez git diff pour voir comment vous allez. Il y a une commande pour afficher les Katas avec quelques informations et vos progrès:
$ go run ./cmd/gokatas -c 2
Kata Last done Done Level Topics
---- --------- ---- ----- ------
boring/boring 0 days ago 1x beginner concurrency, design
boring/channel 0 days ago 1x beginner goroutines, channels
areader 3 days ago 2x beginner interfaces, io.Reader
---- ----
3 4x
Configuration initiale:
Installer Go.
Fourk ce dépôt pour avoir votre propre copie.
Clone the Fork à votre ordinateur: git clone [email protected]:<you>/gokatas.git .
Contenu clair de katas.md (sauf si vous êtes moi :-) et commencez à pratiquer.
Il est important de s'entraîner régulièrement parce que la répétition crée des habitudes, et les habitudes permettent la maîtrise. Commencez par faire des pas de bébé. Fixez un objectif que vous pouvez atteindre, par exemple 10 minutes par jour avant le travail. Au début, c'est bien même si vous ne lisez que l'un des katas de niveau débutant. Utilisez la documentation, un moteur de recherche ou un modèle d'IA si vous ne comprenez pas quelque chose. Après un certain temps, cela nécessitera beaucoup moins de pouvoir de pratiquer. Vos mouvements de programmation commenceront à être plus simples et plus lisses. Si vous vous sentez suffisamment à l'aise avec un kata, arrêtez de le pratiquer et choisissez un autre qui vous intéresse et est légèrement au-delà de votre capacité actuelle.