Inżynieria oprogramowania

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

10
Jaki jest właściwy sposób modelowania tej aktywności w świecie rzeczywistym, która wydaje się wymagać cyklicznych odniesień w OOP?
Walczyłem z problemem w projekcie Java dotyczącym referencji cyklicznych. Próbuję modelować rzeczywistą sytuację, w której wydaje się, że przedmiotowe obiekty są od siebie zależne i muszą się o sobie wiedzieć. Projekt jest ogólnym modelem gry planszowej. Podstawowe klasy są niespecyficzne, ale zostały rozszerzone o specyfikę szachów, backgammon i innych gier. …


2
Jak wytrzymałe są Git, gdy moc gaśnie?
Pewnego dnia korzystałem z Git (nadal go używam) i podczas gdy popełniłem prąd, prąd spadł. Kiedy wróciłem (właściwie prąd), repozytorium git było uszkodzone. Nie pamiętam dokładnej nazwy, ale było to coś w rodzaju „nieprawidłowych referencji” lub coś w tym rodzaju. Łatwo zgadnąć, że zatwierdzenie zostało przerwane w trakcie operacji (zatwierdzałem …
24 git 

1
Dystrybucja pojedynczego pliku Python: moduł czy pakiet?
Załóżmy, że mam przydatną funkcję lub klasę (lub cokolwiek) w języku Python, useful_thingktóra istnieje w jednym pliku. Istnieją dwa podstawowe sposoby organizacji drzewa źródłowego. Pierwszy sposób wykorzystuje pojedynczy moduł: - setup.py - README.rst - ...etc... - foo.py gdzie useful_thingjest zdefiniowany w foo.py. Druga strategia polega na stworzeniu pakietu: - setup.py …


6
Po co wdrażać leksykon jako macierz 2D i gigantyczny przełącznik?
Powoli pracuję nad ukończeniem studiów, a ten semestr to Kompilatory 101. Korzystamy ze Smoczej Księgi . Wkrótce w trakcie kursu mówimy o analizie leksykalnej i o tym, jak można ją wdrożyć za pomocą deterministycznych automatów skończonych (dalej DFA). Skonfiguruj różne stany leksykalne, zdefiniuj przejścia między nimi itp. Ale zarówno profesor, …

4
Jak korzystać z github, gałęzi i automatycznych wydań do zarządzania wersjami? [Zamknięte]
Zamknięte . To pytanie musi być bardziej skoncentrowane . Obecnie nie przyjmuje odpowiedzi. Chcesz poprawić to pytanie? Zaktualizuj pytanie, aby skupiało się tylko na jednym problemie, edytując ten post . Zamknięte 5 lat temu . Rozumiem już większość podstawowych koncepcji Git / Github, ale nadal mam problem ze zrozumieniem szerszego …


4
Planowanie pokera z kolegą niedowidzącym
W biurze właśnie dostaliśmy nowego kolegę, który jest niedowidzący. Jestem odpowiedzialny za organizację planowania pokera , a nowy kolega musi uczestniczyć jako członek zespołu. Mamy te ładne zestawy kart pokera z planowanymi numerami pokera, ale to oczywiście nie pomaga naszemu nowemu koledze. Do tej pory naprawialiśmy ten problem, po prostu …


4
Czego powinny używać wtyczki: haczyki, wydarzenia lub coś innego?
Rozważ aplikację, która pozwala wtyczkom reagować na przebieg programu. Znam 2 sposoby na osiągnięcie tego: haczyki i wydarzenia 1. Haki Użyj wywołań, aby opróżnić funkcje wewnątrz głównego programu. Funkcje te można zastąpić za pomocą wtyczek. Na przykład Drupal CMS implementuje zaczepy dostępne dla modułów i motywów. Oto przykład implementacji hooka …


3
Python - „if foo in dict” vs „try: dict [foo]”
Jest to mniej pytanie o naturę pisania kaczek, a raczej o pozostawanie pythonem, jak sądzę. Po pierwsze - w przypadku dykt, w szczególności gdy struktura dykt jest dość przewidywalna, a dany klucz nie jest zwykle obecny, ale czasami tak jest, najpierw myślę o dwóch podejściach: if myKey in dict: do_some_work(dict[myKey]) …
24 python 


6
Dlaczego zespół LMAX wykorzystał Javę i zaprojektował architekturę, aby za wszelką cenę unikać GC?
Dlaczego zespół LMAX zaprojektował LMAX Disruptor w Javie, ale wszystkie ich punkty konstrukcyjne minimalizują użycie GC? Jeśli nie chce się uruchamiać GC, to po co używać języka bezużytecznego? Ich optymalizacje, poziom wiedzy o sprzęcie i myśl, którą włożyli, są po prostu niesamowite, ale dlaczego Java? Nie jestem przeciwny Jawie ani …

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.