Я завжди намагаюся чітко дотримуватися принципу DRY на роботі; кожен раз, коли я повторював код із ліні, він відвертається пізніше, коли мені потрібно підтримувати цей код у двох місцях.
Але часто я пишу невеликі методи (можливо, 10 - 15 рядків коду), які потрібно повторно використовувати в двох проектах, які не можуть посилатися один на одного. Метод може бути пов'язаний із мережею / рядками / MVVM тощо. Це загалом корисний метод, не характерний для проекту, в якому він спочатку знаходиться.
Стандартним способом повторного використання цього коду було б створення незалежного проекту для коду для багаторазового використання та посилання на цей проект, коли він вам потрібен. Проблема з цим полягає в тому, що ми опинилися в одному з двох менш ідеальних сценаріїв:
- Ми закінчуємо десятками / сотнями крихітних проектів - кожен з яких розміщує маленькі класи / методи, які нам знадобилися для повторного використання. Чи варто створити зовсім новий
.DLL
лише для крихітного коду? - Ми закінчуємо одним проектом, що містить все більшу колекцію непов'язаних методів та класів. Цей підхід - це те, що робила компанія, в якій я працював; У них був проект,
base.common
який назвав папки для таких речей, як я вже згадував вище: мережа, маніпуляція з рядками, MVVM і т. д. Це було неймовірно зручно, але посилання на нього непотрібно перетягувати з собою весь непотрібний код, який вам не потрібен.
Отже, моє запитання:
Як команда програмного забезпечення найкраще використовує невеликі шматочки коду між проектами?
Мені особливо цікаво, чи хтось працював у компанії, яка веде політику в цій галузі, або яка особисто натрапила на цю дилему, як я.
Примітка: Моє використання слів "Проект", "Рішення" та "Довідка" походить з передумови в розробці .NET у Visual Studio. Але я впевнений, що це питання не залежить від мови та платформи.