Моя третья неделя на Makers Bootcamp

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

Моими целями в целом были:

  1. Получите представление о функциональных тестах, модульных тестах и ​​их месте в цикле TDD.
  2. Поймите синтаксис и применение RSpec (библиотека тестирования предметно-ориентированного языка (DSL) для Ruby) сопоставителей предикатов, сопоставлений сравнений, сопоставителей равенства и сопоставителей конкретных типов, а также сопоставителей raise_error и response_to.
  3. Поймите синтаксис и использование тестовых двойников и макетов RSpec.

Прелесть постановки довольно конкретных целей, а не широких целей (например, я узнаю все о RSpec) означает, что легче составить план того, как эти цели будут достигнуты, и показать, как они были достигнуты. Например, я смог продемонстрировать свое понимание цикла TDD, создав следующую простую диаграмму, описывающую процесс:

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

Выполняя задание по отладке на этой неделе, я усвоил очень ценный урок, а именно: нужно действительно ПРОЧИТАТЬ ИНСТРУКЦИИ и доверять сообщениям об ошибках в терминале, в которых точно указано, где возникла ошибка! Мне удалось определить одну из ошибок, но я провел целую вечность, бормоча и ахая, действительно ли это проблема или что-то еще. Я не хочу раскрывать слишком много, но давайте просто скажем, что в одной из библиотек, необходимых программе для запуска, была ошибка, и я потратил слишком много времени, пытаясь выяснить, действительно ли это проблема, а не чтение инструкций, в которых подтверждалась природа ошибок (и в которых говорилось, что в одной из библиотек действительно была ошибка).

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

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

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

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

Вперед к 4 неделе!