Nie ma jednej odpowiedzi, ponieważ zależy to całkowicie od projektu. Musimy tutaj pomyśleć o dwóch rzeczach. Jaki jest twój ostateczny cel? Jak się tam dostać?
Wynik końcowy
Czy piszesz oprogramowanie sterujące Mars Orbiter? W takim razie lepiej upewnij się, że piszesz najbardziej niezawodny kod. Lepiej sprawdź, czy każdy wyjątek jest obsługiwany w rozsądnej sprawie.
Czy piszesz program, który tylko Ty będziesz uruchamiał i co jakiś czas będziesz uruchamiał ręcznie? Więc nie zawracaj sobie głowy wyjątkami. Nie przejmuj się ciężką architekturą. Spraw, by działał do punktu, w którym działa dla Ciebie.
Jak się tam dostać?
Robisz ciężki rozwój wodospadów, gdzie spędzasz dużo czasu, zastanawiając się, co jest potrzebne, a potem wyruszasz na miesiące, rozwijając się? Jeśli tak, to dość wcześnie chcesz osiągnąć wspomnianą wyżej jakość docelową. Zaplanuj na początku całą infrastrukturę sprawdzania błędów.
Czy robisz intensywny, zwinny rozwój, w którym gromadzisz coś przez tydzień lub dwa, co zostanie następnie pokazane interesariuszom, którzy mogą poprosić o radykalne zmiany, i gdzie spodziewasz się, że będziesz w stanie iterować przez wiele 1-2 tygodniowych sprintów dopóki nie trafisz w cel? W takim razie lepiej jest mieć coś działającego, ale szybko kruche i dodając tylko pasy i szelki, gdy wymagania produktu się zestalą.
Jeśli masz kontrolę nad wodospadem lub zwinną decyzją (która w rzeczywistości jest kontinuum, a nie wyborem binarnym), podejmij tę decyzję na podstawie oczekiwanej zmiany. Jeśli jesteś pewien, że wiesz dokładnie, jak będzie wyglądał efekt końcowy, to wodospad jest najlepszym wyborem. Jeśli masz tylko niejasne pojęcie o tym, czego potrzebujesz, zwinny jest najlepszym wyborem. (Zwinność jest obecnie bardziej popularna nie dlatego, że jest z natury lepsza, ale dlatego, że druga sytuacja jest znacznie częstsza).
Teraz znajdź własną odpowiedź
Dla większości odpowiedź leży gdzieś pośrodku. Odpowiedz na oba pytania dotyczące swojego projektu, a powinien on poprowadzić Cię w podstawowym kierunku.
Mogę to powiedzieć dla siebie, jeśli często piszę jednorazowe skrypty, które są absurdalnie zaprojektowane i nie mają błędów sprawdzania czegokolwiek. Zajmuję się także kodem produkcyjnym, w którym dużą uwagę zwraca obsługa błędów i architektura. Wszystko zależy od tego, co robisz.
Ostatnie ostrzeżenie: jeśli zdecydujesz, że robisz jednorazowe skrypty, które można wykonać szybko i brudnie, upewnij się. Niestety często zdarza się, że szybkie i brudne skrypty, które robią coś interesującego, stają się szeroko stosowane, gdy inni je zauważą. Upewnij się, że gdy tak się stanie, poświęcony zostanie czas na utwardzenie.