Урок 9: Пакеты и модули — package, import, go.mod, go.sum
Pied Piper растёт. Файл main.go раздулся до трёх тысяч строк. Ричард добавляет новую функцию сжатия и случайно ломает старую, потому что обе называются process. Джаред пытается найти, где тут логика авторизации, а натыкается на парсинг CSV-файлов, которые Динеш зачем-то положил в середину файла. Эрлих заходит в комнату с маркером. — Парни, у нас проблема с масштабируемостью пространства! Я предлагаю просто разбить код на файлы. И давайте сделаем папку utils, куда скинем всё вспомогательное. И helpers. И common. Это будет дисраптивно! Гилфойл медленно поворачивается. Его взгляд мог бы расплавить серверную стойку. — Эрлих. utils — это не архитектура. Это мусорный ящик с претензией на организацию. Если ты не знаешь, куда положить код, ты не знаешь, что он делает. Пакет должен отвечать за одну конкретную вещь. — А как тогда называть?! — По тому, что он делает. Не как. compression, storage, auth. И если ты назовёшь пакет helpers, я заберу твой доступ к продакшну. Эрлих обиженно уходит пить комбучу. А мы разберёмся, как в Go правильно организовать код, чтобы он не выглядел как комната Эрлиха после вечеринки.
Pied Piper растёт. Файл main.go раздулся до трёх тысяч строк. Ричард добавляет новую функцию сжатия и случайно ломает старую, потому что обе называются process. Джаред пытается найти, где тут логика авторизации, а натыкается на парсинг CSV-файлов, которые Динеш зачем-то положил в середину файла. Эрлих заходит в комнату с маркером. — Парни, у нас проблема с масштабируемостью пространства! Я предлагаю просто разбить код на файлы. И давайте сделаем папку utils, куда скинем всё вспомогательное. И helpers. И common. Это будет дисраптивно! Гилфойл медленно поворачивается. Его взгляд мог бы расплавить серверную стойку. — Эрлих. utils — это не архитектура. Это мусорный ящик с претензией на организацию. Если ты не знаешь, куда положить код, ты не знаешь, что он делает. Пакет должен отвечать за одну конкретную вещь. — А как тогда называть?! — По тому, что он делает. Не как. compression, storage, auth. И если ты назовёшь пакет helpers, я заберу твой доступ к продакшну. Эрлих обиженно уходит пить комбучу. А мы разберёмся, как в Go правильно организовать код, чтобы он не выглядел как комната Эрлиха после вечеринки.



