Pytanie o wartości domyślne w ogóle - domyślne wartości funkcji zwracanych, domyślne wartości parametrów, domyślna logika dla czegoś, czego brakuje, domyślna logika do obsługi wyjątków, domyślna logika do obsługi warunków brzegowych itp.
Przez długi czas uważałem wartości domyślne za „czyste zło”, coś, co „maskuje katastrofę” i powoduje, że bardzo trudno znaleźć błędy. Ale ostatnio zacząłem myśleć o wartościach domyślnych jako pewnego rodzaju długu technicznym ... co nie jest po prostu złą rzeczą, ale czymś, co może zapewnić pewne „krótkoterminowe finansowanie”, które zmusi nas do przetrwania projektu (na ile z nas stać kupić dom bez zaciągania kredytu hipotecznego?).
Kiedy mówię „krótkookresowo” - nie mam na myśli - „najpierw zrób coś szybko, a potem przerób to później, zanim trafi do produkcji”. Nie - mówię o poleganiu na zakodowanych wartościach domyślnych w oprogramowaniu produkcyjnym. To prawda - może powodować pewne problemy, ale co jeśli spowoduje tylko jeden problem w ciągu całego roku.
Znowu - mówię o „przeciętnym” oprogramowaniu głównego nurtu (nie oprogramowaniu dla elektrowni jądrowej) - przeciętnej stronie internetowej lub aplikacji interfejsu użytkownika dla oprogramowania księgowego, co oznacza, że ludzie nie są zagrożeni ani miliony dolarów .
Z mojego doświadczenia wynika, że użytkownicy biznesowi wolą żyć z oprogramowaniem, które „jakoś działa”, zamiast czekać na idealne. A użycie wartości domyślnych bardzo pomaga, jeśli tworzysz oprogramowanie w stylu RAD. Ale znowu - najdłuższe sesje debugowania, które spędziłem, były spowodowane błędami wprowadzonymi przez wartość domyślną, która albo przestała być „domyślną” po drodze, albo dlatego, że niedawno zaktualizowano mały podsystem, a w wyniku tego uaktualnienia nie poprawnie obsługuje domyślną wartość (np. pusta lista vs. null lub ciąg zerowy vs pusty ciąg).
Więc moje pytanie brzmi - czy wartości domyślne są dobre czy złe? A jeśli są to zadłużenie techniczne - jak zmierzyć, ile możesz pożyczyć, aby pozwolić sobie na spłaty?
Byłbym wdzięczny za każdy wkład.
Twoje zdrowie.
EDYTOWAĆ:
Jeśli używam wartości domyślnych jako sposobu na zmniejszenie narożników podczas opracowywania - i jeśli cięcie narożników powoduje błędy i problemy - jaka jest metodologia, aby rozwiązać te problemy?