Inżynieria oprogramowania

Pytania i odpowiedzi dla profesjonalistów, nauczycieli akademickich i studentów pracujących w cyklu życia systemów


12
Posiadanie flagi wskazującej, czy powinniśmy zgłaszać błędy
Niedawno zacząłem pracować w miejscu z kilkoma znacznie starszymi programistami (około 50+). Pracowali nad krytycznymi aplikacjami dotyczącymi lotnictwa, w których system nie mógł ulec awarii. W rezultacie starszy programista ma tendencję do kodowania w ten sposób. Zwykle umieszcza w obiektach wartość logiczną, aby wskazać, czy wyjątek powinien zostać zgłoszony, czy …

11
Czy zasięg ścieżki gwarantuje znalezienie wszystkich błędów?
Jeśli testowana jest każda ścieżka przez program, czy gwarantuje to znalezienie wszystkich błędów? Jeśli nie, dlaczego nie? Jak można przejść przez każdą możliwą kombinację przebiegu programu i nie znaleźć problemu, jeśli taki istnieje? Waham się z sugestią, że można znaleźć „wszystkie błędy”, ale może dlatego, że pokrycie ścieżki nie jest …


1
Czym różnią się cechy rdzy od interfejsów Go?
Go znam stosunkowo dobrze, ponieważ napisałem w nim wiele małych programów. Rdza, oczywiście, jestem mniej obeznana, ale pilnuje. Po niedawnym przeczytaniu http://yager.io/programming/go.html pomyślałem, że osobiście zbadam dwa sposoby postępowania z lekami generycznymi, ponieważ artykuł wydawał się niesłusznie krytykować Go, gdy w praktyce niewiele było interfejsów nie udało się osiągnąć elegancko. …
64 go  rust 

5
Dlaczego tak źle jest czytać dane z bazy danych „będącej własnością” innej mikrousługi
Niedawno przeczytałem ten znakomity artykuł na temat architektury mikrousług: http://www.infoq.com/articles/microservices-intro Stwierdza, że ​​po załadowaniu strony internetowej na Amazon, ponad 100 mikrousług współpracuje w celu obsługi tej strony. W tym artykule opisano, że cała komunikacja między mikrousługami może odbywać się wyłącznie za pośrednictwem interfejsu API. Moje pytanie brzmi: dlaczego tak źle …

1
Przegląd kodu Gerrit, czy model widelca i ciągnięcia Githuba?
Zaczynam projekt oprogramowania, który zostanie opracowany przez zespół AND społeczność. Wcześniej sprzedawano mnie na Gerrit, ale teraz model widelca i żądania ściągania Githuba wydaje się zapewniać prawie więcej narzędzi, sposobów wizualizacji zatwierdzeń i łatwości użycia. Dla kogoś, kto ma przynajmniej trochę doświadczenia z oboma, jakie są zalety / wady każdego …
64 git  github  forking  gerrit 

6
Warstwa serwisowa a DAO - dlaczego oba?
Pracowałem z SpringMVC, Hibernate i niektórymi bazami danych na przykładzie aplikacji internetowej Java. Jest kilka różnych, które to robią, ale ten samouczek integracji Spring 3 i hibernacji z przykładem ma klasę modelu, widok (w jsp) oraz klasy usługi i dao dla kontrolera. Moje pytanie brzmi: czy zarówno usługa, jak i …

3
Dlaczego w klasach Java 8 java.time brakuje metody getMillis ()?
Java 8 ma zupełnie nową bibliotekę dat i godzin w pakiecie java.time, co jest bardzo mile widziane dla każdego, kto musiał wcześniej używać JodaTime lub miał problemy z tworzeniem własnych metod pomocniczych przetwarzania daty. Wiele klas w tym pakiecie reprezentuje znaczniki czasu i mają metody pomocnicze, takie jak getHour()uzyskiwanie godzin …
64 java  java8 

4
Powody, dla których NIE należy używać JSF [zamknięte]
Jestem nowy w StackExchange, ale pomyślałem, że będziesz w stanie mi pomóc. Tworzymy nową aplikację Java Enterprise, zastępującą starsze rozwiązanie JSP. Z powodu wielu wielu zmian interfejs użytkownika i elementy logiki biznesowej zostaną całkowicie przemyślane i ponownie wdrożone. Naszą pierwszą myślą było JSF, ponieważ jest to standard Java EE. Na …

7
Dane konfiguracyjne: tabela jednorzędowa vs. tabela para-nazwa-wartość
Załóżmy, że piszesz aplikację, którą może skonfigurować użytkownik. Do przechowywania tych „danych konfiguracyjnych” w bazie danych powszechnie stosuje się dwa wzorce. Tabeli jednorzędowy CompanyName | StartFullScreen | RefreshSeconds | ... ---------------+-------------------+------------------+-------- ACME Inc. | true | 20 | ... Nazwa-wartość-pair stół ConfigOption | Value -----------------+------------- CompanyName | ACME Inc. StartFullScreen …

11
Jak przekonać mojego szefa, że ​​ANSI C jest nieodpowiedni do naszego nowego projektu? [Zamknięte]
Kilka miesięcy temu zaczęliśmy opracowywać aplikację do kontroli opracowanego przez nas sprzętu testowego i rejestrować zestaw pomiarów. Powinien mieć prosty interfejs użytkownika i prawdopodobnie wymagałby wątków ze względu na ciągłe nagrywanie, które musi mieć miejsce. Ta aplikacja będzie używana przez kilka lat i będzie utrzymywana przez wielu studentów informatyki w …

5
Jaka jest różnica między implementacją interfejsu jawnie lub niejawnie?
W Visual Studio mogę kliknąć interfejs prawym przyciskiem myszy i wybrać opcję Implementuj interfejs lub Implementuj interfejs jawnie. public class Test : ITest { public string Id // Generated by Implement Interface { get { throw new NotImplementedException(); } } string ITest.Id // Generated by Implement Interface Explicitly { get …
64 c#  syntax 

18
Czy długie metody są zawsze złe? [Zamknięte]
Rozglądając się wcześniej, zauważyłem kilka uwag na temat złych praktyk będących długimi metodami. Nie jestem pewien, czy zawsze zgadzam się, że długie metody są złe (i chcieliby opinii innych). Na przykład mam kilka widoków Django, które przetwarzają obiekty przed wysłaniem ich do widoku, przy czym długa metoda to 350 linii …

11
Dlaczego tajemnicze krótkie identyfikatory są nadal tak powszechne w programowaniu niskiego poziomu?
Kiedyś bardzo ważne były krótkie nazwy instrukcji / rejestru. Te powody już nie obowiązują, ale krótkie tajemnicze nazwy są nadal bardzo powszechne w programowaniu niskiego poziomu. Dlaczego to? Czy tylko dlatego, że stare nawyki trudno przełamać, czy są lepsze powody? Na przykład: Atmel ATMEGA32U2 (2010): TIFR1(zamiast TimerCounter1InterruptFlag), ICR1H(zamiast InputCapture1High), DDRB(zamiast …

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.