Pomagam zarządzać zewnętrznym zespołem, który zaczyna opracowywać nowe wersje niektórych istniejących produktów. Historycznie, ten zespół zawsze używał modelu jednego projektu w jednym rozwiązaniu dla około 30 modułów w Visual Studio, które razem tworzą jedną możliwą do wdrożenia wersję.
Ma to szkodliwy wpływ na niezawodność i jakość kompilacji, ponieważ nie zawsze przesyłają nam najbardziej aktualny kod źródłowy. Staramy się je naciskać, aby ujednolicić wszystkie odwołania do kodu w jednym rozwiązaniu, ale otrzymujemy pewien opór - w szczególności rozmawiają o zwiększeniu zależności między modułami (czytaj „projekty” w Visual Studio), jeśli wszystko jest umieszczone w pojedynczy plik rozwiązania. Żaden kod w oddzielnych rozwiązaniach nie jest używany gdzie indziej.
Podkreślam, że to nonsens, a dobre wzorce rozwoju pozwolą uniknąć takiego problemu.
Zespół, o którym mowa, wykonuje również poprawki błędów i opracowuje nowe funkcje w istniejącym produkcie, którego doświadczenie było co najmniej uciążliwe i cierpi na dokładnie ten sam problem podziału na wiele rozwiązań. Odmówiono nam dostępu do ich kontroli źródła ( TFS ), a podejściem, które zastosowaliśmy w celu ujednolicenia bazy kodów, jest próba co najmniej zmniejszenia liczby brakujących aktualizacji i więcej niż sporadycznych regresji (tak, naprawione błędy pojawiają się ponownie - wprowadzono do produktu), mówiąc: „wyślij nam ZIP całego folderu rozwiązania, abyśmy mogli go rozpakować, otworzyć w Visual Studio i nacisnąćF5 do testowania ". Pod względem ogólnej struktury i jakości kod jest dość ubogi i trudny do obsługi. To doświadczenie sprawia, że zamierzam zapewnić prawidłowe działanie procesów na jak najwcześniejszym etapie cyklu programowania.
Czy czegoś brakuje? Czy jest jakiś dobry powód, aby oddzielić cały ten kod? Dla moich pieniędzy musiałby to być tak przekonujący powód, że byłaby to powszechna wiedza, ale jestem bardziej niż skłonny przyznać, że nie wiem wszystkiego.