Изучение Go через тестирование

Обложка нарисована Denise

Доступные переводы

Поддержите меня

Я горжусь тем, что предлагаю эту книгу для свободного использования, бесплатно. Однако, если вы хотите поддержать меня или выразить благодарность, то можете воспользоваться следующими пунктами:

Почему мне стоит это читать?

  • Узнайте о языке Go с помощью написания тестов.

  • Погрузитесь в TDD с головой. Go хороший язык для этого, потому-что он прост для изучения и в нём отлично реализованы тесты из коробки.

  • Получите уверенность, что вы можете писать надежные и хорошо протестированные системы на Go.

  • Посмотрите видео или почитайте, почему юнит-тестирование и TDD важны.

Обо мне

У меня есть опыт обучения Go для разработчиков и я попробовал разные пути: от команды, которая просто интересуется Go, до написания высокоэффективных систем на языке.

Не работающие подходы

Прочитать книгу

Мы пробовали применить подход, который обсуждался в синей книге и каждую неделю обсуждать следующую главу вместе с решением задач.

Мне нравится эта книга, но она требует высокий уровень вовлеченности. Эта книга детально описывает концепты, которые в целом полезны, но это значит что прогресс будет медленным и незаметным – это не для всех.

Небольшое количество людей хотело бы прочитать главу X и решать задачу, при этом большинство людей этого не делали.

Решать часть задач

Решение задач интересное занятие, но обычно их полезность довольна мала при изучении языка. Мы вряд ли будем использовать горутины для решения каких-то задач.

Другая проблема, когда у вас есть несколько уровней энтузиазма. Некоторые люди просто хотят изучить больше концепций языка чем другие и, когда они показывают что они уже сделали, то заканчивают особенностями языка, о котором другие не знают.

Это создает в обучении проблемы, вызывает не структурированность и отсутствие документации, тестов.

Работающие подходы

До этого момента самый эффективный путь был медленно изучать основы языка с помощью go by example, пробовать их запустить локально и смотреть на общую картину. Это немного более интерактивный подход, чем "прочитай главу X и выполни домашнее задание".

После этого вы получаете прочную базу по грамматике языка и поэтому можете начать проектировать какие-либо системы.

Это можно сравнить с практикой игры на гитаре, когда вы начинаете изучать гаммы и как их играть.

При этом не важно насколько вы артистичны, так как вряд ли вы напишите хорошую музыку без понимания основ и практики игры.

Работающие подходы для меня

Когда я изучаю новый язык программирования, я обычно начинаю с каких-то примеров кода и запускаю их в песочнице, но в основном я приверженец определенной структурированности.

Я бы хотел изучить основные концепты и затем укрепить их с помощью идей с тестами. Тесты подтверждают, что мой код корректен и документируют особенности, которые я изучил.

Из моего опыта обучения с группой или самостоятельно, я пытаюсь попробовать создать что-то, что может быть полезно другим разработчикам и командам. Написание маленьких тестов поможет улучшить ваши навыки в проектировании программного обеспечения и даст основы для новых высокоэффективных систем.

Для кого эта книга

  • Любому, кто заинтересовался в изучении Go.

  • Любому, кто уже немного знаком с Go, но хочет изучить TDD подход.

Что мне потребуется для прохождения?

  • Компьютер и установленный терминал, которым вы хорошо пользуетесь.

  • Установленный Go.

  • Текстовый редактор кода.

  • Небольшие познания в программировании. Понимание концепции ветвлений, что такое переменная, функция и т.д

Обратная связь

  • Создавайте новые тикеты/предлагайте изменения здесь или отметьте меня в Twitter.

Лицензия MIT

Last updated