Презентация

time, if/switch, ошибки и Git: полезные рабочие паттерны

Сборный практический материал по пакету time, выбору между if и switch, обработке ошибок и нескольким часто используемым командам Git.

О чем этот материал

Пакет time, конструкции ветвления, обработка ошибок и рабочие приемы с Git.

Это адаптированная версия учебной презентации: слайды разобраны в формате обычной статьи, чтобы материал было легче читать с телефона и возвращаться к нужным блокам позже.

Что внутри

Ниже краткий план материала. По нему удобно понять, в каком порядке разбирать тему.

  1. Поговорим о пакете time
  2. Поговорим о том когда лучше if, когда switch, когда if/else
  3. Предопределенные возвращаемые значения
  4. Wrap ошибок
  5. Git
  6. Разберем вопросы

Пакет time

Вся работа со временем

Форматы

Ещё немного

If (текст чтобы не так коротко, заголовок же)

else не нужны

switch

[-er]

if-else/switch-case

А чо когда?

if-else:

комбинации (&&, ||).

switch-case:

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

Работа с ошибками

Работа с ошибками. Нет стектрейса, но есть errors.Wrap()

"github.com/pkg/errors"

Работа с ошибками. Нет стектрейса, но есть fmt.Errorf()

Git

Основные команды

Разница merge и rebase

Определение:

Merge: Берет изменения из одной ветки и объединяет их с другой веткой в новый коммит.

  • Система контроля версий
  • Фактически стандарт индустрии
  • git clone https://github.com/lugingf/prom_metrics_example git status git branch TASK-1-my-branch git checkout TASK-1-my-branch
  • git add . git commit -m “My commit msg” git push origin HEAD git merge (rebase) branch_name_from
Эту часть лучше читать как рабочую инструкцию: цель не выучить команды наизусть, а понять, какую проблему каждая из них решает.

Git stash

Зачем? затем

не разберешь

нами потянутся

  • Мы работаем над задачей, у нас куча изменений
  • Приходит срочная задача - исправить баг в том же проекте
  • Мы не хотим коммитить то, что есть, потому что куча говна, потом
  • Мы не можем просто так переключить ветку - все изменения за
  • Делаем git stash - изменения прячутся
  • Переключаем ветку на другу, делаем что надо
  • Коммит, пуш
  • Возвращаемся к тому, над чем работали git stash apply - все спрятанные изменения снова у нас
Эту часть лучше читать как рабочую инструкцию: цель не выучить команды наизусть, а понять, какую проблему каждая из них решает.

Git

  • Алиасики
Эту часть лучше читать как рабочую инструкцию: цель не выучить команды наизусть, а понять, какую проблему каждая из них решает.

Defer и Return

11