Изучение Go через тестирование
Last updated
Last updated
Я горжусь тем, что предлагаю эту книгу для свободного использования, бесплатно. Однако, если вы хотите поддержать меня или выразить благодарность, то можете воспользоваться следующими пунктами:
Узнайте о языке Go с помощью написания тестов.
Погрузитесь в TDD с головой. Go хороший язык для этого, потому-что он прост для изучения и в нём отлично реализованы тесты из коробки.
Получите уверенность, что вы можете писать надежные и хорошо протестированные системы на Go.
Посмотрите видео или почитайте, почему юнит-тестирование и TDD важны.
У меня есть опыт обучения Go для разработчиков и я попробовал разные пути: от команды, которая просто интересуется Go, до написания высокоэффективных систем на языке.
Мы пробовали применить подход, который обсуждался в синей книге и каждую неделю обсуждать следующую главу вместе с решением задач.
Мне нравится эта книга, но она требует высокий уровень вовлеченности. Эта книга детально описывает концепты, которые в целом полезны, но это значит что прогресс будет медленным и незаметным – это не для всех.
Небольшое количество людей хотело бы прочитать главу X и решать задачу, при этом большинство людей этого не делали.
Решение задач интересное занятие, но обычно их полезность довольна мала при изучении языка. Мы вряд ли будем использовать горутины для решения каких-то задач.
Другая проблема, когда у вас есть несколько уровней энтузиазма. Некоторые люди просто хотят изучить больше концепций языка чем другие и, когда они показывают что они уже сделали, то заканчивают особенностями языка, о котором другие не знают.
Это создает в обучении проблемы, вызывает не структурированность и отсутствие документации, тестов.
До этого момента самый эффективный путь был медленно изучать основы языка с помощью go by example, пробовать их запустить локально и смотреть на общую картину. Это немного более интерактивный подход, чем "прочитай главу X и выполни домашнее задание".
После этого вы получаете прочную базу по грамматике языка и поэтому можете начать проектировать какие-либо системы.
Это можно сравнить с практикой игры на гитаре, когда вы начинаете изучать гаммы и как их играть.
При этом не важно насколько вы артистичны, так как вряд ли вы напишите хорошую музыку без понимания основ и практики игры.
Когда я изучаю новый язык программирования, я обычно начинаю с каких-то примеров кода и запускаю их в песочнице, но в основном я приверженец определенной структурированности.
Я бы хотел изучить основные концепты и затем укрепить их с помощью идей с тестами. Тесты подтверждают, что мой код корректен и документируют особенности, которые я изучил.
Из моего опыта обучения с группой или самостоятельно, я пытаюсь попробовать создать что-то, что может быть полезно другим разработчикам и командам. Написание маленьких тестов поможет улучшить ваши навыки в проектировании программного обеспечения и даст основы для новых высокоэффективных систем.
Любому, кто заинтересовался в изучении Go.
Любому, кто уже немного знаком с Go, но хочет изучить TDD подход.
Компьютер и установленный терминал, которым вы хорошо пользуетесь.
Установленный Go.
Текстовый редактор кода.
Небольшие познания в программировании. Понимание концепции ветвлений, что такое переменная, функция и т.д