LINUX.ORG.RU

История изменений

Исправление ergo, (текущая версия) :

Или я чего-то не понимаю?

это. речь не о крайностях, а о разумной середине. люди впихивают зачастую либы, которые они используют на 1%. заканчивается это тем, что начинают городить костыли в тулчейнах для управления зависимостями. это я сейчас про rule v2 у golang говорю. они решили проблему с зависимостями для 0.001% сверхкрупных проектов, но создали проблему для остальных (чудовищно кривое решение, придуманное парой «студентов» в гугле, но затрагивающее всех гошников, кто релизит софт >= v2.*)

Обычно зависимости подключают, чтобы упростить жизнь разработчика

в го для этого придумали интерфейсы. это своего рода плагин. конкретно viper’у просто нужно нормально прорабоать интефейст транспорта, а потом уже запилить разные транспорты, реализующие этот интерфейс. кому какой нужен будет, такой и заинклудит, но не будет тащить в зависимости >1K внешних пакетов.

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

Исправление ergo, :

Или я чего-то не понимаю?

это. речь не о крайностях, а о разумной середине. люди впихивают зачастую либы, которые они используют на 1%. заканчивается это тем, что начинают городить костыли в тулчейнах для управления зависимостями. это я сейчас про rule v2 у golang говорю. они решили проблему с зависимостями для 0.001% сверхкрупных проектов, но создали проблему для остальных (чудовищно кривое решение, придуманное парой «студентов» в гугле, но затрагивающее всех гошников, кто релизит софт >= v2.*)

Обычно зависимости подключают, чтобы упростить жизнь разработчика

в го для этого придумали интерфейсы. это своего рода плагин. конкретно viper’у просто нужно нормально прорабоать интефейст транспорта, а потом уже запилить разные транспорты, реализующие этот интерфейс. кому какой нужен будет, такой и заинклудит, но не будет тащить в зависимости >1K внешних пакетов.

Исходная версия ergo, :

Или я чего-то не понимаю?

это. речь не о крайностях, а о разумной середине. люди впихивают зачастую либы, которые они используют на 1%. заканчивается это тем, что начинают городить костыли в тулчейнах для управления зависимостями. это я сейчас про rule v2 у golang говорю. они решили проблему с зависимостями для 0.001% сверхкрупных проектов, но создали проблему для остальных (чудовищно кривое решение, придуманное парой «студентов» в гугле, но затрагивающее всех гошников, кто релизит софт >= v2.*)