Trochę tła: Jako lider zespołu używam NDepend raz w tygodniu, aby sprawdzić jakość naszego kodu. Szczególnie nieocenione jest dla mnie pokrycie testu, wiersze kodu i wskaźniki złożoności cyklicznej. Ale jeśli chodzi o cykle wyrównywania i zależności, jestem trochę ... bardzo zaniepokojony. Patrick Smacchia ma fajny post na blogu, który opisuje cel wyrównania.
Żeby było jasne: w „cyklu zależności” rozumiem cykliczne odniesienia między dwiema przestrzeniami nazw.
Obecnie pracuję nad strukturą GUI opartą na systemie Windows CE dla wbudowanych instrumentów - pomyśl tylko o platformie graficznej dla Androida, ale dla bardzo niskich instrumentów. Framework jest pojedynczym zestawem zawierającym około 50 000 linii kodu (bez testów). Struktura jest podzielona na następujące przestrzenie nazw:
- Podstawowy podsystem nawigacji i menu
- Podsystem ekranu (Prezenterzy / Widoki / ...)
- Warstwa kontrolna / warstwa widgetu
Dzisiaj spędziłem pół dnia, próbując doprowadzić kod do właściwego poziomu [dzięki Resharperowi nie ma problemu w ogóle], ale we wszystkich przypadkach istnieją pewne cykle zależności.
Więc moje pytanie: jak ściśle przestrzegasz zasady „Brak cyklu zależności”? Czy wyrównanie naprawdę jest tak ważne?