История изменений
Исправление 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.*)