Inżynieria oprogramowania

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

1
Jak uniknąć gadatliwych interfejsów
Tło: Projektuję aplikację serwera i tworzę osobne biblioteki DLL dla różnych podsystemów. Dla uproszczenia załóżmy, że mam dwa podsystemy: 1) Users2)Projects Publiczny interfejs użytkownika ma metodę taką jak: IEnumerable<User> GetUser(int id); A publiczny interfejs projektów ma metodę taką jak: IEnumerable<User> GetProjectUsers(int projectId); Na przykład, kiedy musimy wyświetlić użytkowników dla określonego …

2
TDD z wzorcem repozytorium
W moim nowym projekcie postanowiłem spróbować z TDD. I na samym początku napotkałem problem. Pierwszą rzeczą, którą chcę zrobić w mojej aplikacji, jest umożliwienie odczytu danych ze źródła danych. W tym celu chcę użyć wzorca repozytorium. I teraz: Jeśli testy mają na celu rzeczywistą implementację interfejsu repozytorium, będę testował klasę, …

1
Strategie promocji zależności: zamilczane czy koordynowane?
Mamy wiele aplikacji i usług internetowych (niektóre produkty publiczne, niektóre wewnętrzne i część prywatnego „zaplecza”), które są od siebie zależne. Każdy z tych komponentów ma 4 środowiska (klastry serwerów / węzłów służące do określonych celów): Nieprodukcyjny DEV- Zintegrowane środowisko programistyczne, w którym CI buduje zmiany push; przydatne dla inżynierów w …

1
Kolejka wiadomości dla RTOS dla mikrokontrolerów
Obecnie piszę RTOS dla mikrokontrolerów. Wszystko napisano w C ++ 11 - jeśli ktoś jest zainteresowany, a link do repozytorium znajduje się na dole. Obecnie piszę klasę, która jest prostą kolejką danych do przekazywania obiektów między wątkami (lub między programami obsługi przerwań a wątkami lub programami obsługi przerwań i innymi …

2
Dlaczego kompilator Scala nie może wyświetlać ostrzeżenia o dopasowaniu wzorca dla niezamkniętych klas / cech?
Jeśli używam un uszczelniony traitlub abstract classw Scala, a następnie użyć dopasowywania wzorców, zastanawiam się, czy kompilator nie wiedzieć w czasie kompilacji dla tego konkretnego patternmatch co możliwe implementacje tej cechy / klasy są dostępne? Więc jeśli tak, to czy nie może dać ostrzeżeń o dopasowaniu wzorca, nawet jeśli trait/ …

3
Jak należy obsługiwać prywatne linki zależności w setup.py
W pracy korzystamy z prywatnego serwera pypi. Ten serwer pypi jest określony jako łącze zależności: ... from setuptools import setup config = ConfigParser.ConfigParser() rc = os.path.join(os.path.expanduser('~'), '.pypirc') config.read(rc) dependency_links = [ 'https://{}:{}@<private_url>'.format( config.get('dc', 'username'), config.get('dc', 'password'))] setup( dependency_links=dependency_links, ...) Działa to dobrze w większości naszych przypadków. Jednak jakiś czas temu …
10 python 

2
Oddzielne raporty zasięgu kodu dla testów jednostkowych i integracyjnych, czy jeden raport dla obu?
Czy powinien istnieć osobny raport dotyczący pokrycia kodu dla testów jednostkowych i integracji, czy jeden raport pokrycia kodu dla obu? Założeniem tego jest to, że pokrycie kodu pozwala nam upewnić się, że nasz kod został objęty testami tak dalece, jak to możliwe (tyle, ile może teraz maszyna). Posiadanie osobnego raportu …

1
Czy branża gier stosuje zautomatyzowane testowanie wizualnych części gier / renderowania? W jaki sposób?
Niektóre części gry można łatwo przetestować w sposób zautomatyzowany (logika, matematyka, obsługa danych wejściowych); ale jest też wiele elementów czysto wizualnych i trudnych do przetestowania. Byłbym zaskoczony, gdyby przemysł gier pozostawił to wszystko testom ręcznym; jest w tym wystarczająco dużo pieniędzy, że zgaduję, że włożono wysiłek w testowanie regresji przynajmniej …

3
Czysty kod i obiekty hybrydowe oraz zazdrość o cechy
Niedawno dokonałem poważnych zmian w moim kodzie. Jedną z głównych rzeczy, które próbowałem zrobić, było podzielenie moich klas na obiekty danych i obiekty robocze. Zostało to zainspirowane między innymi przez tę sekcję Clean Code : Hybrydy To zamieszanie czasami prowadzi do niefortunnych hybrydowych struktur danych, które są w połowie obiektowymi …

2
W jaki sposób JVM obsługuje wyjątek zgłoszony przez metodę główną?
Rozumiem wyjątki, rzucając je, obsługując je i propagując do metody znajdującej się niżej na stosie wywołań (tj throws.). Nie rozumiem tego: public static void main(String[] args) throws Exception { ... } Teraz zakładam, że w przypadku, który mainwyrzuca an Exception, JVM obsługuje to (prawda?). Jeśli tak jest, moje pytanie brzmi: …
10 java  exceptions  jvm 

2
Co stanowi zły przypadek do szybkiego sortowania?
Uczę się o Quicksort i chcę zilustrować różne tablice, na których Quicksort miałoby trudności. Quicksort, o którym myślę, nie ma początkowego losowego tasowania, dzieli 2 partycje i nie oblicza mediany. Do tej pory wymyśliłem trzy przykłady: [1,2,3,4,5,6,7,8,9,10] - when the array is sorted [10,9,8,7,6,5,4,3,2,1] - when the array is reversed …

7
Dlaczego twórcy protokołu internetowego zdecydowali się użyć adresów IP do identyfikacji konkretnego komputera? [Zamknięte]
Zamknięte . To pytanie wymaga szczegółów lub jasności . Obecnie nie przyjmuje odpowiedzi. Chcesz poprawić to pytanie? Dodaj szczegóły i wyjaśnij problem, edytując ten post . Zamknięte 5 lat temu . Dlaczego twórcy protokołu internetowego zdecydowali się użyć adresów IP do identyfikacji konkretnego komputera? Dlaczego po prostu nie przypisać każdemu …

1
JIT kodu maszynowego i bit wyłączenia wykonania
W jaki sposób generowany w środowisku wykonawczym kod maszynowy (taki jak dane wyjściowe JIT) jest faktycznie wykonywany przez CPU, jeśli CPU / OS ma bit wyłączania wykonywania? O ile mi wiadomo, wiele nowoczesnych procesorów i systemów operacyjnych obsługuje bit NX (w tym Intel i ARM), co uniemożliwia wykonanie kodu maszynowego …
10 machine-code  jit  llvm 

6
Jak sprawdzić, czy dana domena jest własnością użytkownika?
Piszę oprogramowanie, z którego będą korzystać głównie firmy. Potem wpadłem na pomysł, aby dać firmom sposób na zarejestrowanie swojej domeny e-mail, aby każdy użytkownik, który zarejestruje się przy użyciu adresu e-mail danej domeny, był automatycznie umieszczany w grupie firm. Wiem, że Slack robi coś takiego i działa, ale są pewne …


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.