Kiedy zaczynam pisać kod od zera, mam zły nawyk szybkiego pisania wszystkiego w jednej funkcji, cały czas myśląc "Sprawię, że stanie się bardziej modułowy później". Potem, gdy później nadejdzie, mam działający produkt i każda próba jego naprawy oznaczałaby tworzenie funkcji i wymyślanie tego, co muszę przekazać.Przezwyciężanie złego nawyku "późniejszego naprawienia"
Robi się najgorzej, ponieważ bardzo trudno jest przeprojektować klasy, gdy projekt jest już prawie gotowy. Na przykład zwykle planuję, zanim zacznę pisać kod, a potem, gdy mój projekt zostanie ukończony, zdałem sobie sprawę, że mogłem uczynić klasy bardziej modułami i/lub mogłem użyć dziedziczenia. Zasadniczo, nie sądzę, że robię wystarczająco dużo planowania i nie dostaję więcej niż jednego poziomu abstrakcji.
W końcu utknąłem w programie z dużą główną funkcją, jedną klasą i kilkoma funkcjami pomocniczymi. Nie trzeba dodawać, że nie nadaje się do wielokrotnego użytku.
Czy ktoś miał ten sam problem i miał jakieś wskazówki, aby przezwyciężyć ten problem? Jedną rzeczą, o której myślałem było napisanie głównej funkcji za pomocą pseduocode (bez wielu szczegółów, ale wystarczająco dużo, aby zobaczyć, jakie obiekty i funkcje potrzebują). Zasadniczo podejście odgórne.
Czy to dobry pomysł? Jakieś inne sugestie?
Pytałem ostatnio o podobny temat dotyczący planowania projektu, ale nasze problemy są nieco inne. Może niektóre odpowiedzi mogą ci się przydać. http://stackoverflow.com/questions/1100819/how-do-you-design-object-oriented-projects – Victor
Nagradzam się czekoladą. – Maxpm