Inżynieria oprogramowania

27
Ekstrakcja metody a podstawowe założenia

Kiedy dzielę duże metody (lub procedury lub funkcje - to pytanie nie jest specyficzne dla OOP, ale ponieważ pracuję w językach OOP w 99% przypadków, to terminologia, z którą czuję się najlepiej) na wiele małych , Często jestem niezadowolony z wyników. Trudniej jest rozumować te małe metody niż...

27
Ile pracy powinienem umieścić w instrukcji blokady?

Jestem młodszym programistą pracującym nad pisaniem aktualizacji oprogramowania, które odbiera dane z rozwiązania innej firmy, przechowuje je w bazie danych, a następnie warunkuje dane do wykorzystania przez inne rozwiązanie innej firmy. Nasze oprogramowanie działa jako usługa systemu...

27
Dlaczego jest połączony O (log n)?

Mergesort jest algorytmem dzielenia i zdobywania i ma wartość O (log n), ponieważ dane wejściowe są wielokrotnie zmniejszane o połowę. Ale czy nie powinno to być O (n), ponieważ mimo że dane wejściowe są zmniejszone o połowę w każdej pętli, każdy element wejściowy musi być iterowany, aby wykonać...

27
Kto powinien przeczytać wyjątek. Wiadomość, jeśli w ogóle?

Czy projektując wyjątki, powinienem pisać wiadomości zrozumiałe dla użytkownika lub programisty? Kto powinien być czytelnikiem komunikatów o wyjątkach? Uważam, że komunikaty o wyjątkach w ogóle nie są przydatne i zawsze trudno mi je pisać. Zgodnie z konwencją typ wyjątku powinien już informować...

27
Zwinny bez testów jednostkowych

Czy ma sens mówienie o „zwinnym programowaniu” lub twierdzeniu, że stosujesz „zwinną metodologię”, jeśli baza kodu, nad którą pracujesz, ma 0% zasięgu testu jednostkowego? (A ty jako zespół nic z tym nie robisz). Wyjaśnij: dla mnie to nie ma sensu. Z mojego osobistego doświadczenia wynika, że...