Inżynieria oprogramowania

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

8
Jaki rodzaj algorytmu wymaga zestawu?
Na moich pierwszych kursach programowania mówiono mi, że powinienem używać zestawu, gdy muszę robić rzeczy takie jak usuwanie duplikatów czegoś. Np .: aby usunąć wszystkie duplikaty z wektora, iteruj przez ten wektor i dodaj każdy element do zestawu, a następnie pozostaną Ci niepowtarzalne zdarzenia. Mógłbym jednak to zrobić, dodając każdy …

1
Czy jest sytuacja, w której lepiej byłoby użyć słabych referencji zamiast prostej kompozycji?
Chociaż docs Java określić, że odniesienia Słabe są przede wszystkim dla canonicalizing mapowania, znajdziesz wiele , wiele , wiele ludzi w internecie stwierdzające, że WeakHashMap jest idealny do przechowywania metadanych obiektu w trakcie jego trwania. Jednak nikt nie zadaje sobie trudu, aby podać zrozumiały I odpowiedni przykład. Używanie WeakHashMap do …

2
Co dokładnie dzieje się, gdy wątek oczekuje na zadanie w pętli while?
Po pewnym czasie zajmowania się wzorcem asynchronizacji / oczekiwania w języku C # nagle zdałem sobie sprawę, że tak naprawdę nie wiem, jak wyjaśnić, co dzieje się w następującym kodzie: async void MyThread() { while (!_quit) { await GetWorkAsync(); } } GetWorkAsync()zakłada się, że zwróci oczekiwany element, Taskktóry może, ale …
10 c#  loops  async 


3
Sourcing zdarzeń, jedno zdarzenie, stan dwóch agregatów zmieniony
Próbuję nauczyć się DDD i powiązanych tematów. Wpadłem na pomysł prostego, ograniczonego kontekstu, aby zaimplementować „bank”: istnieją konta, pieniądze można wpłacać, wypłacać i przenosić między nimi. Ważne jest również, aby zachować historię zmian. Zidentyfikowałem podmiot konta i pozyskanie tego zdarzenia byłoby dobrze śledzić zmiany w nim. Inne byty lub obiekty …

2
Limit stosu
Niedawno przetestowałem limit stosu na trzech urządzeniach z różnymi systemami operacyjnymi (przez limit rozumiem maksymalną liczbę poziomów, jaką może mieć stos), i zauważyłem, że za każdym razem, gdy osiągam 2 ^ 16 poziomów, daje mi to błąd przepełnienia, a gdy wstawię 2 ^ 16-1, działa poprawnie. Więc moje pytanie brzmi …
10 stack 

1
Czy istnieje heterogeniczne środowisko programistyczne?
Współpracuję z zespołem programistów, którzy mają wybór co do obsługiwanego sprzętu i oprogramowania. Uważamy, że ten scenariusz pozwala nam zobaczyć szeroką gamę systemów docelowych przed testowaniem. Z naszego doświadczenia wynika, że ​​wkrótce po wprowadzeniu problemu znajdujemy wiele dziwnych problemów w różnych przeglądarkach i systemach operacyjnych. Ale to tylko doświadczenie jednej …


2
Czy struktura stosu jest używana w procesach asynchronicznych?
To pytanie ma doskonałą odpowiedź Erica Lipperta opisującą, do czego służy ten stos. Przez lata wiedziałem - ogólnie mówiąc - co to jest stos i jak jest używany, ale niektóre jego odpowiedzi sprawiają, że zastanawiam się, czy ta struktura stosu jest dziś mniej używana, gdy programowanie asynchroniczne jest normą. Z …
10 stack 

3
Podejście TDD do problemów algorytmicznych
Jeden z nich nie zdał testu algorytmicznego z Codility, ponieważ próbowałem znaleźć lepsze rozwiązanie, a ostatecznie nie miałem nic. Więc pomyślałem, czy mógłbym zastosować podejście podobne do TDD? Tj. Czy zazwyczaj mogę stopniowo opracować rozwiązanie w podobny sposób? Gdybym pisał algorytm sortowania, mógłbym przejść ze standardowego Bubblesorta do dwukierunkowego bąbelkowego …

1
Struktura bazy danych dla gry 2 na 2
Regularnie gram w grę 2 na 2 z 12 przyjaciółmi i chcę, aby baza danych śledziła graczy, zespoły, wyniki i gry z zamiarem stworzenia systemu rankingowego. Ponieważ regularnie zmieniać zespoły Doszedłem z tabel players, teamsa gamesgdzie gry mają dwa zespoły (TEAM1 i team2) oraz zespoły składają się z dwóch graczy …



3
Czy stworzenie całkowicie zduplikowanego systemu zapewniania jakości (QA) innej złej praktyki?
W pracy mamy dość skomplikowany system. Nazwijmy ten system System_A. Nasz zespół ds. Kontroli jakości stworzył inny system o nazwie System_B, aby przetestować System_A. Sposób użycia System_B jest następujący. Generujemy dane wejściowe (przy użyciu samego System_B), IN, przetwarzamy je z powrotem przez System_B i generujemy dane wyjściowe, O_B. Proces przebiega …

3
Czy uzasadnione jest brak kryteriów pozytywnych / negatywnych dla testu warunków skrajnych?
Dla jasności napisany przeze mnie test warunków skrajnych zwiększa obciążenie systemu, aż osiągnie punkt krytyczny. Teoretycznie działa w nieskończoność, ale ponieważ zasoby systemowe są skończone, oczekuje się, że po pewnym czasie ulegnie awarii. Mam oczekiwane obciążenie systemu, ale jest to testowane osobno w teście obciążenia . Celem tego testu warunków …

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.