Leer Go Met Testen

Ondersteun me
Ik ben er trots op dat ik deze bron gratis kan aanbieden, maar als je wilt kun je je waardering laten zien via de onderstaande links:
Leer test-driven development met Go
Ontdek de programmeertaal Go door testen te schrijven
Raak bekend met TDD. Go is een erg goede taal om TDD te leren omdat de taal zelf eenvoudig te leren is en testen ingebouwd is in de taal.
Wordt zelfverzekerd dat je in staat bent robuuste en goed geteste systemen kunt bouwen in Go
Over dit boek
Dit geweldige boek is geschreven door Chris James, alias Quii op internet (zie sectie Ondersteun me). Het originele boek van Chris is te lezen in het Engels via:
Overige vertalingen:
Achtergrond
Ik heb enige ervaring met het introduceren van Go bij ontwikkelteams en heb verschillende benaderingen geprobeerd om een team te laten groeien van mensen die nieuwsgierig waren naar Go tot mensen die zeer effectieve schrijvers van Go-systemen zijn.
Wat niet werkte
Het boek lezen
Een aanpak die we probeerden was om het blauwe boek te pakken en elke week het volgende hoofdstuk te bespreken, samen met de oefeningen.
Ik ben dol op dit boek, maar het vereist een hoge mate van toewijding. Het boek legt concepten zeer gedetailleerd uit, wat natuurlijk geweldig is, maar het betekent wel dat de voortgang langzaam en gestaag verloopt, dit is niet voor iedereen weggelegd.
Ik ontdekte dat een kleine groep mensen hoofdstuk X zou lezen en de oefeningen zou maken, maar dat veel mensen dat niet deden.
Programmeer uitdagingen oplossen
Kata's zijn leuk, maar je leert er meestal maar beperkt een taal mee. Je zult waarschijnlijk geen goroutines gebruiken om een kata op te lossen.
Een ander probleem is wanneer je enthousiasme varieert. Sommige mensen leren gewoon veel meer van de taal dan anderen, en als ze laten zien wat ze hebben gedaan, raken ze in de war met functies die de anderen niet kennen.
Dit zorgt ervoor dat het leren nogal ongestructureerd en ad hoc aanvoelt.
Wat wel werkte
Veruit de meest effectieve manier was om de basisbeginselen van de taal langzaam te introduceren door go by example te lezen, ze te verkennen met voorbeelden en ze in groepsverband te bespreken. Dit was een interactievere aanpak dan "lees hoofdstuk x als huiswerk".
Na verloop van tijd had het team een solide basis van de grammatica van de taal ontwikkeld, zodat we konden beginnen met het bouwen van systemen.
Voor mij is dit vergelijkbaar met het oefenen van toonladders wanneer je gitaar probeert te leren spelen.
Het maakt niet uit hoe artistiek je denkt dat je bent, je zult waarschijnlijk geen goede muziek kunnen schrijven als je de basis niet begrijpt en de mechaniek niet oefent.
Wat voor mij werkte
Als ik een nieuwe programmeertaal leer, begin ik meestal met wat rommelen in een REPL, maar uiteindelijk heb ik meer structuur nodig.
Wat ik graag doe, is concepten verkennen en de ideeën vervolgens met tests onderbouwen. Tests verifiëren of de code die ik schrijf correct is, en documenteren de functionaliteit die ik heb geleerd.
Gebruikmakend van mijn ervaring met leren in een groep en mijn eigen persoonlijke aanpak, ga ik proberen iets te creëren dat hopelijk nuttig is voor andere teams. Leer de basisprincipes door kleine tests te schrijven, zodat je vervolgens je bestaande softwareontwerpvaardigheden kunt gebruiken om geweldige systemen te ontwikkelen.
Voor wie is dit boek
Voor mensen die geïnteresseerd zijn om met Go aan de slag te gaan
Mensen die al bekend zijn met Go, maar testen met TDD verder willen ontdekken
Wat je nodig hebt
Een computer!
Een tekst editor
Enige ervaring met programmeren. Begrip van concepten zoals 'if', variabelen, functies, etc.
Je moet je comfortable voelen de terminal te gebruiken
Feedback
Problemen melden/PRs's indienen hier of tweet me @quii
Over deze vertaling
Deze vertaling is gemaakt door Bob Kosse. Ook deze vertaling wordt, net als het origineel, kosteloos vrijgegeven. Ik hoop hiermee de programmeertaal Go ook in Nederland toegankelijker te maken voor een breder publiek.
Ik heb dit boek vertaald naar het Nederlands, maar enkele begrippen zijn bewust Engelstalig gehouden. Go gebruikt, net als veel andere programmeertalen, veel Engelse benamingen. Deze zijn in takt gelaten. Ook speciefieke woorden waarvan in de markt vaak de Engelse variant wordt gebruikt, heb ik ook in het Engels gehouden.
Heb je vragen over deze vertaling? Neem van vooral contact met mij op: LinkedIn GitHub
Laatst bijgewerkt