Inżynieria oprogramowania

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

5
Jak przekonać kierownictwo do „inwestowania” w testy jednostkowe?
Jak przekonałeś swojego kierownika, aby pozwolił ci na test jednostkowy? Przez „użycie” mam na myśli pozwolenie na rozwój, odprawę do kontroli źródła i utrzymanie testów jednostkowych w czasie itp. Typowe zastrzeżenia kierownictwa to: Klient nie zapłacił za testy jednostkowe Projekt nie przewiduje czasu na testy jednostkowe Dług techniczny? Jaki dług …


4
W jaki sposób są usługi downstream i upstream?
W przypadku systemu składającego się z wielu usług, które do siebie dzwonią (np. Front End -> Backend -> Storage), często słyszałem osoby używające terminologii, takiej jak usługi „downstream” lub „upstream”. Nie jestem pewien, w jakim kierunku one oznaczają. Dane przepływają w obu kierunkach. Żądania przepływają z bardziej ukierunkowanej na użytkownika …

8
Czy przed OOP członkowie struktury danych byli publicznie dostępni?
Gdy struktura danych (na przykład kolejka) jest implementowana przy użyciu języka OOP, niektórzy członkowie struktury danych muszą być prywatni (na przykład liczba elementów w kolejce). Kolejka może być również zaimplementowana w języku proceduralnym przy użyciu structzestawu funkcji działających w systemie struct. Jednak w języku proceduralnym nie można uczynić członków structprywatnymi. …

7
Jak mogę zapobiec piekłu nagłówka?
Rozpoczynamy nowy projekt od zera. Około ośmiu programistów, kilkanaście podsystemów, każdy z czterema lub pięcioma plikami źródłowymi. Co możemy zrobić, aby zapobiec „nagłówkowi piekła”, AKA „nagłówkom spaghetti”? Jeden nagłówek na plik źródłowy? Plus jeden na podsystem? Oddzielić typdefy, kable i wyliczenia od prototypów funkcji? Oddzielić wewnętrzny podsystem od zewnętrznych elementów …
44 c++  headers  include 


2
Kontrola dostępu oparta na rolach a uprawnieniami
Próbuję zrozumieć nieodłączny kompromis między rolami i uprawnieniami, jeśli chodzi o kontrolę dostępu (autoryzację). Zacznijmy od danego: w naszym systemie pozwolenie będzie drobnoziarnistą jednostką dostępu („ Edytuj zasób X ”, „ Uzyskaj dostęp do strony panelu kontrolnego ” itp.). Rola będzie zbiorem 1+ uprawnienia. Użytkownik może mieć 1+ role. Wszystkie …

3
Jaka jest różnica między podklasą a podtypem?
Najwyżej oceniana odpowiedź na to pytanie dotyczące zasady substytucji Liskowa stara się rozróżnić pojęcia podtyp i podklasa . Wskazuje również, że niektóre języki łączą oba języki, podczas gdy inne nie. W przypadku języków obiektowych, które znam najbardziej (Python, C ++), „typ” i „klasa” są pojęciami synonimicznymi. Jeśli chodzi o C …

9
Co zyskują relacyjne bazy danych, ustawiając predefiniowany typ danych dla każdej kolumny?
Obecnie pracuję z bazą danych SQL i zawsze mnie to ciekawiło, ale wyszukiwania Google nie pojawiają się zbyt często: dlaczego ścisłe typy danych? Rozumiem, dlaczego miałbyś mieć kilka różnych typów danych, na przykład, jak ważne jest rozróżnienie między danymi binarnymi i zwykłymi danymi tekstowymi . Rozumiem, że zamiast przechowywać jedynki …

4
Dlaczego struktury i klasy są osobnymi pojęciami w języku C #?
Podczas programowania w języku C # natknąłem się na dziwną decyzję dotyczącą projektu języka, której po prostu nie rozumiem. Zatem C # (i CLR) ma dwa zagregowane typy danych: struct(typ wartości, przechowywane na stosie, bez dziedziczenia) i class(typ referencyjny, przechowywane na stercie, ma dziedziczenie). Ta konfiguracja na początku brzmi nieźle, …

2
Dlaczego niektóre języki zaokrąglają do najbliższej NAWET liczby całkowitej?
Języki programowania, takie jak Scheme (R5RS) i Python ( patrz to pytanie ), idą w kierunku najbliższej parzystej liczby całkowitej, gdy wartość jest dokładnie pomiędzy otaczającymi liczbami całkowitymi. Jakie jest tego uzasadnienie? Czy istnieje pomysł matematyczny, który ułatwia uzasadnienie następujących obliczeń? (R5RS odwołuje się do standardu zmiennoprzecinkowego IEEE jako źródła …


7
Czy system może być w 100% sterowany danymi?
Mój nowy szef pracuje nad tym projektem od wielu lat. Byłem tu tylko kilka tygodni, ale nie jestem pewien, czy to możliwe. Chciałby zaprojektować system, który będzie „w 100% sterowany danymi”. Jeśli więc wprowadzimy wystarczającą ilość danych, możemy zdefiniować i wygenerować dowolną aplikację. Udało mi się przynajmniej skłonić go do …


11
Czy zmienne błędu są anty-wzorcem czy dobrym projektem?
Aby obsłużyć kilka możliwych błędów, które nie powinny powstrzymywać wykonywania, mam errorzmienną, którą klienci mogą sprawdzać i używać do zgłaszania wyjątków. Czy to jest anty-wzór? Czy istnieje lepszy sposób, aby sobie z tym poradzić? Na przykład w akcji możesz zobaczyć API mysqli PHP . Załóżmy, że problemy z widocznością (akcesory, …

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.