Я изменил несколько платформ за свою карьеру, но каждый раз все было одинаково: пользовательская библиотека для обмена действительно полезным кодом.Это был .lib для проектов C ++ на платформе Win, это был .NET dll с множеством общих классов и помощников, сейчас это фреймворки с какао на платформе Mac.Когда-то эти библиотеки были разделены на несколько.
Я думаю, что это лучший способ.В некоторых простых ситуациях вы можете использовать копирование-вставку, использовать приложение для «фрагментов кода», но в большинстве случаев некоторые общие библиотеки помогают избежать ошибок копирования-вставки, черт возьми, когда вы не уверены, исправили ли вы проблему в каждом проектекоторый использует тот же помощник.Когда библиотека существует в одном экземпляре - это имеет смысл.
Не уверен, что вы имеете в виду под "проблемами версий" и "зависимостями" - уточните ситуацию, пожалуйста.