Inżynieria oprogramowania

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


2
Czy test jednostkowy jest uważany za kruchy, jeśli zawiedzie, gdy zmienia się logika biznesowa?
Proszę zobaczyć kod poniżej; sprawdza, czy osoba z płcią żeńską kwalifikuje się do oferty1: [Fact] public void ReturnsFalseWhenGivenAPersonWithAGenderOfFemale() { var personId = Guid.NewGuid(); var gender = "F"; var person = new Person(personId, gender); var id = Guid.NewGuid(); var offer1 = new Offer1(id,"Offer1"); Assert.False(offer1.IsEligible(person)); } Ten test jednostkowy się powiódł. Jednak …


4
Czy istnieje standard branżowy dla modelu płci innego niż mężczyzna i kobieta?
Ten post dotyczy szybko zmieniającego się wydarzenia. Modeluję bazę danych, która powinna być używana jako ogólny niefunkcjonalny wymóg dla wszystkich usług firmy startupowej, takich jak osoby, użytkownicy, usługi i dane handlowe, takie jak kupony, pakiety podpisów itp. Myślę o modelu płci . Czy w dzisiejszych czasach i przy różnych przepisach …



13
Dlaczego języki programowania nie zarządzają automatycznie problemem synchronicznym / asynchronicznym?
Nie znalazłem na ten temat wielu zasobów: zastanawiałem się, czy to możliwe / dobry pomysł, aby móc pisać kod asynchroniczny w sposób synchroniczny. Na przykład, oto kod JavaScript, który pobiera liczbę użytkowników przechowywanych w bazie danych (operacja asynchroniczna): getNbOfUsers(function (nbOfUsers) { console.log(nbOfUsers) }); Byłoby miło móc napisać coś takiego: const …

3
Jakiego algorytmu używają windy, aby znaleźć najkrótszą ścieżkę do zamówień piętra podróży?
Staram się symulować windę, jak zawsze zacząłem bardzo prosto, biorąc tylko jedno zamówienie na raz, a następnie dodałem pamięć do windy w postaci kolejek, aby piętra były przemieszczane w kolejności, w której zostały wciśnięte, co oczywiście nie jest najlepszym podejściem. Więc w tej chwili używam bardzo prostej i „krótkowzrocznej” logiki, …

5
Czy łapanie / rzucanie wyjątków sprawia, że ​​metoda, która w innym przypadku jest czysta, jest nieczysta?
Poniższe przykłady kodu stanowią kontekst mojego pytania. Klasa pokoju jest inicjowana przez delegata. W pierwszej implementacji klasy Room nie ma strażników przed delegatami, którzy zgłaszają wyjątki. Takie wyjątki zostaną przeniesione do właściwości North, gdzie delegowany jest oceniany (uwaga: metoda Main () pokazuje, jak instancja Room jest używana w kodzie klienta): …

6
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 ​​testy jednostkowe są jedynym …

7
Frustracje związane z recenzowaniem / kodowaniem
Nie nazwałbym siebie supergwiazdą, ale stosunkowo doświadczonym. Staram się utrzymywać jakość kodu na wysokim poziomie i zawsze staram się ulepszyć mój styl kodowania, staram się, aby kod był wydajny, czytelny i spójny, a także zachęcać zespół do przestrzegania wzorców i metodologii w celu zapewnienia spójności. Rozumiem także potrzebę równowagi między …

8
Czy można statycznie przewidzieć, kiedy należy zwolnić pamięć --- tylko z kodu źródłowego?
Pamięć (i blokady zasobów) są zwracane do systemu operacyjnego w deterministycznych punktach podczas wykonywania programu. Przepływ sterujący programu sam w sobie wystarczy, aby wiedzieć, gdzie z pewnością dany zasób może zostać zwolniony. Dokładnie tak, jak ludzki programista wie, gdzie pisać, fclose(file)gdy program z nim skończy. GC rozwiązują ten problem, ustalając …
27 parsing  memory 

2
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ć nas, dlaczego coś nie działało, a właściwości niestandardowe …



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.