Zawsze staram się śledzić DRY zasadę ściśle w pracy; za każdym razem, gdy powtarzam kod z lenistwa, gryzie go później, kiedy muszę go utrzymywać w dwóch miejscach.
Ale często piszę małe metody (może 10-15 linii kodu), które trzeba ponownie wykorzystać w dwóch projektach, które nie mogą się nawzajem odnosić. Metoda może mieć coś wspólnego z siecią / łańcuchami / MVVM itp. I jest ogólnie użyteczną metodą, która nie jest specyficzna dla projektu, w którym pierwotnie się znajduje.
Standardowym sposobem ponownego wykorzystania tego kodu byłoby utworzenie niezależnego projektu dla kodu wielokrotnego użytku i odwołanie się do tego projektu, gdy będzie to potrzebne. Problem polega na tym, że kończymy w jednym z dwóch mniej niż idealnych scenariuszy:
- Skończyliśmy z dziesiątkami / setkami drobnych projektów - każdy z nich zawierał małe klasy / metody, których potrzebowaliśmy ponownie. Czy warto utworzyć zupełnie nowy
.DLL
kod, aby tylko odrobinę kodu? - W efekcie powstaje jeden projekt z rosnącą kolekcją niepowiązanych metod i klas. Takie podejście właśnie zrobiła firma, w której kiedyś pracowałem; mieli projekt o nazwie,
base.common
który zawierał foldery dla takich rzeczy, jak wspomniałem powyżej: sieci, manipulacji ciągami, MVVM itp. To było niezwykle przydatne, ale odwoływanie się do niego niepotrzebnie przeciągało za sobą cały niepotrzebny kod, którego nie potrzebowałeś.
Więc moje pytanie brzmi:
W jaki sposób zespół programistów najlepiej wykorzystuje ponowne wykorzystanie małych fragmentów kodu między projektami?
Interesuje mnie szczególnie to, czy ktoś pracował w firmie, która ma zasady w tym obszarze, lub osobiście spotkałem się z tym dylematem.
Uwaga: moje użycie słów „Projekt”, „Rozwiązanie” i „Dokumentacja” pochodzi z tła programowania .NET w Visual Studio. Ale jestem pewien, że ten problem jest niezależny od języka i platformy.