Обложка канала

Библиотека Go разработчика

8531 @goproglib

Полезные материалы по всему, что может быть полезно разработчику на Go.

Библиотека Go разработчика

3 года назад
Открыть в
Обзор архитектурного линтера go-arch-lint для Go-разработчика 📌 Go-arch-lint состоит из 3 частей: 1️⃣ Component — абстракция над package (пакетом). Один компонент включает в себя один или более пакетов. 2️⃣ Dependency — зависимость. Они бывают двух видов: явные и неявные. Явные зависимости — это import в файле с описанием конкретной зависимости от другого пакета. Неявные — это передача методов или структур с методами через интерфейсы, каналы и прочие способы 3️⃣ Dependency tree — граф отношений между компонентами (кому и от кого можно зависеть). 📌 Принцип работы линтера: 🔸размечает весь код на компоненты; 🔸находит все зависимости между компонентами; 🔸строит граф зависимостей; 🔸сравнивает актуальный и желаемый граф зависимостей; 🔸если мы получили непустой DIFF — значит, есть проблемы.