Inżynieria oprogramowania

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

3
Czy w Javie 8 stylistycznie lepiej jest używać wyrażeń referencyjnych metod lub metod zwracających implementację interfejsu funkcjonalnego?
Java 8 dodała koncepcję funkcjonalnych interfejsów , a także wiele nowych metod, które zostały zaprojektowane do przyjmowania funkcjonalnych interfejsów. Wystąpienia tych interfejsów można zwięźle utworzyć za pomocą wyrażeń referencyjnych metod (np. SomeClass::someMethod) I wyrażeń lambda (np (x, y) -> x + y.). Wspólnie z koleżanką mamy różne opinie na temat …



1
Konwencja nazewnictwa dla pakietów testowych
Właściwie nazywamy nasze pakiety testowe tak, jak ich odpowiedniki do testowania. W rezultacie otrzymujemy następującą strukturę: src/main/java com.hello.world helloWorld.java src/test/java com.hello.world helloWorldTest.java Zawsze czułem, że nie jest to zbyt mądre, ponieważ nie można odróżnić „test” od „testowania”, jeśli podano tylko nazwę pakietu. Z drugiej strony tak naprawdę nie znalazłem przypadku, …
11 naming  packages 

4
Generowanie kluczy sortowania podczas zmiany kolejności elementów
Mamy wiele elementów, które użytkownik końcowy będzie mógł uporządkować w pożądanym porządku. Zestaw elementów jest nieuporządkowany, ale każdy element zawiera klucz sortowania, który można modyfikować. Szukamy algorytmu, który pozwoliłby wygenerować nowy klucz sortowania dla elementu, który jest dodawany lub przenoszony jako pierwszy element, ostatni element lub pomiędzy dowolnymi dwoma elementami. …
11 algorithms 

5
Jak traktować sprawdzanie poprawności odniesień między agregacjami?
Mam trochę trudności z odniesieniami między agregacjami. Załóżmy, że agregat Carma odniesienie do agregatu Driver. Odniesienie to będzie modelowane poprzez Car.driverId. Teraz moim problemem jest to, jak daleko mam się posunąć, aby sprawdzić poprawność tworzenia Caragregatu CarFactory. Czy powinienem ufać, że przekazane DriverIdodnosi się do istniejącego, Driver czy też powinienem …

2
Dlaczego ifstream.eof () nie zwraca PRAWDA po odczytaniu ostatniego wiersza pliku?
Kiedy początkujący zaczyna czytać strumienie, jego instynkt polega na czytaniu pliku za pomocą pętli, która zwykle wygląda następująco: while (!ifstream.eof() { ... } Kiedy jednak użyłem tego kodu, zauważyłem, że nie zatrzymał się, dopóki nie przeczytał dwukrotnie ostatniego wiersza pliku. Programiści C ++ zauważają, że tak nie powinno się czytać …
11 c++ 

2
Najlepsze praktyki kontroli wersji w Unity?
Jestem trochę zdezorientowany, jak używać kontroli wersji w Unity, szczególnie z obiektami takimi jak sceny lub prefabrykaty, które nie są tylko kodem. Mieliśmy ostatnio problem, gdy wraz z kolegą pracowaliśmy nad różnymi częściami tej samej sceny. co spowodowało konflikty, rozgałęzienie i scalenie się wielu. W końcu i tak moje zmiany …



3
Co to jest „model aplikacji”?
Obecnie studiuję .NET Core i we wczesnych dokumentach, które wprowadziły .NET Core widzimy, że mówią o wielu różnych branżach. Może to wyglądać na tym zdjęciu: We wszystkich branżach widzimy środowisko uruchomieniowe, strukturę, ale jest też ta „App Model”. Ponadto, oglądając film o .NET Core CLI, powiedziano, że „DNX ma swój …

3
Projekt interfejsu API REST dla stron internetowych z kreatorami
Mam stronę internetową w formacie kreatora. Przycisk przesłania do interfejsu API będzie w 4 kroku kreatora. Jednak chcę, aby wprowadzone dane były przechowywane w bazie danych przed przejściem do następnego kroku w kreatorze. Chcę również, aby interfejs API REST działał dla stron posiadających jedną kartę. Dlatego zaprojektowałem interfejs API, aby …
11 design  rest 

1
Korzystanie z metody rozpoznawania kolejności w Pythonie dla wstrzykiwania zależności - czy to źle?
Widziałem, jak Raymond Hettinger Pycon mówi „Super uważany za super” i dowiedziałem się trochę o MRO Pythona (Order Resolution Order), który deterministycznie interpretuje klasy „nadrzędne”. Możemy to wykorzystać na naszą korzyść, tak jak w poniższym kodzie, aby wykonać wstrzyknięcie zależności. Więc teraz oczywiście chcę używać superdo wszystkiego! W poniższym przykładzie …

2
Obejście dotyczące wdrażania operacji na podwójnie połączonych lub cyklicznych strukturach danych w językach z danymi niezmiennymi
Chciałbym dowiedzieć się, jak tworzyć wykresy i wykonywać na nich pewne lokalne operacje w Haskell, ale pytanie nie jest specyficzne dla Haskell i zamiast wykresów możemy rozważyć podwójnie połączone listy. Pytanie: Jaki byłby idiomatyczny lub zalecany sposób wdrożenia podwójnie powiązanej listy (lub innej podwójnie powiązanej lub okrągłej struktury danych) i …

2
Późne wiązanie obiektowe
W Alan Kays Definition Object Oriented znajduje się definicja, której częściowo nie rozumiem: OOP oznacza dla mnie tylko wysyłanie wiadomości, lokalne przechowywanie, ochronę i ukrywanie procesów państwowych oraz ekstremalne późne wiązanie wszystkich rzeczy. Ale co oznacza „LateBinding”? Jak mogę to zastosować w języku takim jak C #? I dlaczego to …

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.