Inżynieria oprogramowania

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

4
Czysta walidacja architektury w domenie a warstwa trwałości danych?
Studiuję czystość, w wyniku czego dość radykalnie zastanawiam się nad tym, jak projektuję i piszę oprogramowanie. Wciąż mam problem z regułami biznesowymi, takimi jak: „przy zapisywaniu aktualizacji jakiegoś elementu, najpierw załaduj całą listę elementów, które mam uprawnienia do przeglądania / edycji itp., Potwierdź, że ten element jest na liście, oraz …



4
Wybieranie nazw dla testów integracyjnych
Dzięki testom jednostkowym domena jest dość mała, więc jest łatwa. Użyłem methodName_conditions_result()schematu Osherove'a i okazało się, że jest to bardzo jasne. Ale przy testach integracyjnych czuję, że miałoby to bardzo długą nazwę, a co mam na miejscu methodName? Jak nazwać klasy testów integracji? Przykłady nazw testów integracyjnych w świecie rzeczywistym …


4
Tworzenie instancji obiektów zerowych za pomocą operatora zerowania
Rozważ następujący typowy scenariusz: if(myObject == null) { myObject = new myClass(); } Zastanawiam się, co myśli się o następującym zastąpieniu za pomocą operatora zerowania: myObject = myObject ?? new myClass(); Nie jestem pewien, czy powinienem używać drugiego formularza. Wygląda na to, że jest to ładny skrót, ale myObject = …
12 c#  operators 

4
Dlaczego sizeof nazywany jest operatorem czasu kompilacji?
Pierwotnie jest to część innego pytania. Dlaczego sizeofnazywany jest operatorem czasu kompilacji? Czy to właściwie nie jest operator czasu wykonywania? A jeśli rzeczywiście jest to operator czasu kompilacji, w jaki sposób pomaga w tworzeniu przenośnego kodu, który działa tak samo na różnych komputerach? Proszę wyjaśnić szczegółowo.
12 c++ 


6
Wartości domyślne - czy są dobre czy złe?
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 …

11
Co oznacza „czytelny dla człowieka”? Czy to mylące?
Przychodzą mi na myśl dwa przykłady: Jednym z powodów, dla których programiści .Net są zachęcani do używania plików .config zamiast rejestru Windows, jest to, że pliki .config są w formacie XML i dlatego są czytelne dla człowieka. Podobnie, JSON jest czasem uważany za czytelny dla człowieka w porównaniu z zastrzeżonym …

3
Praca w oparciu o zasadę pojedynczej odpowiedzialności (SRP) w Pythonie, gdy połączenia są drogie
Niektóre punkty bazowe: Wywołania metod w języku Python są „drogie” ze względu na ich interpretowaną naturę . Teoretycznie, jeśli twój kod jest wystarczająco prosty, rozbicie kodu w Pythonie ma negatywny wpływ oprócz czytelności i ponownego użycia ( co jest dużym zyskiem dla programistów, a nie dla użytkowników ). Zasada pojedynczej …

2
Definicja „Gotowe” w przypadku kilku zespołów programistycznych pracujących nad tym samym produktem
Jeden z testów scrum zawiera pytanie o definicję najlepiej opisującą „Gotowe”, gdy wiele zespołów programistycznych wykonuje prace nad tym samym produktem. Prawidłowa odpowiedź mówi, że te zespoły programistów muszą mieć taką definicję „Gotowe”, która może sprawić, że ich połączona praca będzie potencjalnie możliwa do uwolnienia. Prawidłowa odpowiedź na ten quiz …
12 agile  scrum 


2
Dlaczego klasa podstawowa musi mieć tutaj wirtualny destruktor, skoro klasa pochodna nie przydziela surowej pamięci dynamicznej?
Poniższy kod powoduje wyciek pamięci: #include <iostream> #include <memory> #include <vector> using namespace std; class base { void virtual initialize_vector() = 0; }; class derived : public base { private: vector<int> vec; public: derived() { initialize_vector(); } void initialize_vector() { for (int i = 0; i < 1000000; i++) { …

4
Czy problematyczna jest zależność między obiektami tej samej warstwy w warstwowej architekturze oprogramowania?
Biorąc pod uwagę średnio duże oprogramowanie z architekturą n-warstwową i iniekcją zależności, z przyjemnością mogę powiedzieć, że obiekt należący do warstwy może zależeć od obiektów z niższych warstw, ale nigdy od obiektów z wyższych warstw. Ale nie jestem pewien, co sądzić o obiektach zależnych od innych obiektów tej samej warstwy. …

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.