Budując nietrywialną aplikację, najlepiej skupić się na szybkim działaniu i na skrótach w kodzie, takich jak mieszanie logiki modelu z widokami, łamanie enkapsulacji - typowy zapach kodu? Lub, czy lepiej jest poświęcić czas na zbudowanie większej architektury, zbudować ją poprawnie, ale ryzykując, że cały ten dodatkowy kod może nie zostać użyty, ponieważ projekt jest dość płynny i być może będziesz musiał go wyrzucić, jeśli informacja zwrotna spowoduje iść w innym kierunku?
Dla kontekstu buduję aplikację komputerową. Jestem jedynym programistą i pracuję na pół etatu, ponieważ mam pracę na co dzień. Teraz w pracy staram się robić rzeczy we właściwy sposób, zgodnie z harmonogramem. Ale w przypadku tego projektu, który, jak się spodziewam, zmieni się w miarę uzyskiwania informacji zwrotnych od ludzi, nie jestem pewien, czy jest to właściwe podejście. W tym tygodniu spędziłem kilka godzin, przygotowując podręcznik Model View Controller, aby przekazać zmiany w modelu widokowi. Ogólnie jest to świetne, ale nie jestem pewien, czy potrzebuję wielu widoków do wyświetlania danych i wiem, że mogłem wyświetlać rzeczy szybciej bez dodatkowej architektury. Wydaje mi się, że może poświęcić 10–15 godzin tygodniowo na projekt, że zbudowanie czegoś, co będę w stanie wykonać, zajmie wieki, jeśli będę postępować zgodnie z dobrymi praktykami oprogramowania. Wiem, że moi użytkownicy wygrali ” troszczy się o to, że użyłem MVC wewnętrznie, po prostu chcą czegoś, co rozwiąże ich problem. Ale byłem również w sytuacji, w której zaciągnąłeś tak wiele długów technicznych z powodu skrótów, że kod jest po prostu niezwykle trudny w utrzymaniu i dodaje nowe funkcje. Chciałbym usłyszeć, jak inni ludzie podchodzą do tego rodzaju problemów.