Inżynieria oprogramowania

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

17
Czy nadal istnieje potrzeba pisania SQL?
Czy przy tak wielu narzędziach ORM dla większości współczesnych języków nadal istnieje przypadek użycia do pisania i wykonywania SQL w programie, w obsługiwanym przez niego języku / środowisku? Jeśli tak to dlaczego? Dla jasności: nie pytam, czy programiści muszą znać SQL, czy też powinienem mieć narzędzie SQL na pulpicie. Pytam …
12 design  sql 




2
Wyjątki w DDD
Uczę się DDD i myślę o rzucaniu wyjątków w określonych sytuacjach. Rozumiem, że obiekt nie może wejść w zły stan, więc tutaj wyjątki są w porządku, ale w wielu przykładach wyjątki są zgłaszane na przykład, jeśli próbujemy dodać nowego użytkownika z istniejącą pocztą e-mail w bazie danych. public function doIt(UserData …

2
Testowanie - DB w pamięci kontra Mocking
Dlaczego pisząc testy, dlaczego ktoś chciałby korzystać z bazy danych w pamięci, a nie tylko wyśmiewać dane? Widziałem, że bazy danych w pamięci mogą być przydatne do testowania własnych repozytoriów. Ale jeśli używasz frameworka (takiego jak Spring Data), testowanie repozytoriów byłoby testowaniem frameworku, a nie logiki aplikacji. Wyśmiewanie wydaje się …

2
Jak zaprojektować punkty końcowe interfejsu API do publikowania obiektu potomnego i uzyskiwania wszystkich dzieci wszystkich rodziców?
Na przykład mam podmioty: klient, raport. Klient może mieć wiele raportów i myślę, że punkt końcowy dla jednego zarządzania raportami powinien być zagnieżdżony w następujący sposób: /clients/{client_id}/reports/{report_id} Jeśli chodzi o wszystkie raporty jednego klienta, oczekuje się enpoint: /clients/{client_id}/reports Ale jak powinien wyglądać punkt końcowy dla uzyskania wszystkich raportów wszystkich klientów, …
12 rest  api  api-design 




3
Czy złym zwyczajem jest używanie łączników w kluczach JSON?
Widzę wiele pytań dotyczących dostępu do klawiszy JSON, które używają łączników (kebab-case), ale teraz zastanawiam się, czy powinienem po prostu trzymać się camelCase lub snake_case w moich kluczach. Wiem, że łączniki mogą również tworzyć skomplikowane odwzorowania, gdy są przenoszone między językami. Widziałem, jak niektóre biblioteki JSON przekształcają te klucze w …

1
W jaki sposób inwersja kontroli jest powiązana z inwersją zależności
W wielu artykułach w Internecie pojęcia Inwersja kontroli i zasada inwersji zależności wydają się być pomieszane i używane jako synonimy (dalsze zamieszanie jest wymuszane przez narzędzia nazywane „kontenerami DI” i „kontenerami IoC”). Artykuł w Wikipedii robi dobrą robotę, próbując wyjaśnić, że IoC to nie to samo, co DI: inwersja kontroli …


4
Najczystszy sposób na pisanie logicznie proceduralnych programów w języku OO
Jestem inżynierem elektrykiem i nie wiem, co do diabła robię. Proszę zapisać przyszłych opiekunów mojego kodu. Ostatnio pracowałem nad kilkoma mniejszymi programami (w języku C #), których funkcjonalność jest logicznie „proceduralna”. Na przykład jednym z nich jest program, który zbiera informacje z różnych baz danych, wykorzystuje te informacje do generowania …


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.