W klasie uczymy się o różnych metodach tworzenia oprogramowania. Tym, na którym skupiliśmy się i przy którym opracowaliśmy nasz projekt, była metoda wodospadu.
Prawdopodobnie nauczyłeś się klasycznego modelu wodospadu, który osoba przypisywana wprowadzeniu go do świata tworzenia oprogramowania stwierdził od samego początku, że jest nieodpowiedni do tworzenia systemów oprogramowania na dużą skalę. Prawdopodobnie byłbyś zainteresowany przeczytaniem artykułu Winstona Royce'a pt. Zarządzanie rozwojem dużych systemów oprogramowania, aby dowiedzieć się więcej o problemach z tym, co wiele osób uważa za model wodospadu.
Model Waterfall jest jednak dobry do nauczania cyklu życia oprogramowania w trakcie jego trwania i może poświęcić czas na naukę i wykonywanie inżynierii wymagań, projektowania architektonicznego, szczegółowego projektowania, wdrażania, testowania i konserwacji w bardzo wyraźnych, wyraźnych fazach.
Na naszych diagramach klas musieliśmy wymienić WSZYSTKIE właściwości i metody, w tym prywatne. Przeczytałem kilka książek, a mianowicie Clean Code, które mówią o tym, aby funkcje były możliwie krótkie i skoncentrowane. Wymienienie każdej najmniejszej funkcji na naszych diagramach wydaje się żmudne, jeśli nie pomaga innym programistom (są prywatne, nikt ich nie użyje). Dodatkowo, mogę nie myśleć o każdej drobnej funkcji podczas projektowania programu, mogą pojawić się podczas refaktoryzacji.
To są bardzo ważne punkty.
Wymienienie wszystkich właściwości i metod w fazie projektowania, nawet podczas korzystania z Wodospadu, jest prawdopodobnie przesadą. Zdecydowanie powinieneś wymienić wszystko, co publiczne, wraz z istotnymi właściwościami. W rzeczywistości wszystko inne jest szczegółem implementacji, który można uzyskać, przekształcając implementację w diagramy.
Rada Clean Code (nigdy jej nie czytałem - po prostu przechodzę do tego, co napisałeś) wydaje się być sprawiedliwa i ma zastosowanie nawet przy zastosowaniu metodologii Waterfall. Możesz zaprojektować swoje klasy i metody zgodnie z Zasadą Pojedynczej Odpowiedzialności , oddzieleniem problemów i innymi zasadami SOLID . Waterfall nie mówi ci, jak projektować, tylko kiedy musisz to zrobić. To powiedziawszy, jest trudniej z góry, gdy uczysz się i wymyślisz lepsze sposoby na zrobienie tego podczas wdrażania.
Myślę, że to wskazuje na fakt, że trzeba bardzo wyraźnie powtarzać projekt i wdrożenie - problem, którego nie uwzględnia tradycyjny wodospad.