Я всегда стараюсь строго следовать принципу СУХОЙ на работе; каждый раз, когда я повторяю код из-за лени, он кусается позже, когда мне нужно сохранить этот код в двух местах.
Но часто я пишу небольшие методы (возможно, 10–15 строк кода), которые необходимо повторно использовать в двух проектах, которые не могут ссылаться друг на друга. Этот метод может быть как-то связан с сетью / строками / MVVM и т. Д., И в целом это полезный метод, не относящийся к проекту, в котором он изначально находится.
Стандартный способ многократного использования этого кода - создать независимый проект для повторно используемого кода и ссылаться на него, когда он вам нужен. Проблема в том, что мы попадаем в один из двух неидеальных сценариев:
- В итоге мы получаем десятки / сотни крошечных проектов, каждый из которых содержит небольшие классы / методы, которые нам нужно было использовать повторно. Стоит ли создавать совершенно новый
.DLL
код для крошечного кода? - В итоге мы получаем один проект с растущей коллекцией не связанных между собой методов и классов. Этот подход - то, что сделала компания, для которой я работал; у них был названный проект, в
base.common
котором были папки для таких вещей, как я упомянул выше: работа в сети, манипуляции со строками, MVVM и т. д. Это было невероятно удобно, но ссылки на него без необходимости тянули с собой весь ненужный код, который вам не нужен.
Итак, мой вопрос:
Как команде разработчиков лучше всего использовать повторяющиеся фрагменты кода между проектами?
Меня особенно интересует, работал ли кто-нибудь в компании, которая имеет политику в этой области, или сталкивался с этой дилеммой лично, как и я.
примечание: мое использование слов «проект», «решение» и «справочник» происходит из опыта разработки в .NET в Visual Studio. Но я уверен, что эта проблема не зависит от языка и платформы.