Inżynieria oprogramowania

15
Wyśmiewanie wprowadza obsługę kodu produkcyjnego

Zakładając interfejs IReader, implementację interfejsu IReader ReaderImplementation oraz klasę ReaderConsumer, która zużywa i przetwarza dane z czytnika. public interface IReader { object Read() } Realizacja public class ReaderImplementation { ... public object Read() { ......

15
Czy starszy kod powinien zostać zaktualizowany, aby używał nowszych konstrukcji języka, czy też powinien utknąć w przestarzałych konstrukcjach?

Chcę wprowadzić pewne ulepszenia w wciąż funkcjonującym kodzie, który został napisany dawno temu, zanim język programowania, w którym jest napisany, zaczął się rozwijać. Teoretycznie w całym projekcie wykorzystywana jest aktualna wersja języka; jednak ten konkretny moduł (i tak naprawdę wiele...

15
Zwraca wartość logiczną set.add () w warunkowym?

Operator add klasy set zwraca wartość logiczną, która jest prawdą, jeśli element (który ma zostać dodany) jeszcze nie istniał, a fałsz w przeciwnym razie. Pisze if (set.add(entry)) { //do some more stuff } uważany za dobry styl pod względem pisania czystego kodu? Zastanawiam się, skoro robicie...

15
Czy REST i HATEOAS to dobra architektura dla usług sieciowych?

Jeśli dobrze rozumiem, REST został sformalizowany przez Roy Fieldinga jako model opisowy architektury sieci. AFAIK Fielding nie twierdził, że REST jest dobry, po prostu opisywał faktyczną architekturę sieci. Sieć już w tym momencie udowodniła, że ​​jest ogromnym sukcesem rozproszonego systemu...

15
Skalowanie monolitów vs. skalowanie mikrousług

Jednym z typowych argumentów przemawiających za wykorzystaniem mikrousług jest lepsza skalowalność. Ale zastanawiam się, czy ten argument jest naprawdę ważny. Powiedzmy, że mieliśmy aplikację składającą się z 10 mikrousług, z których 9 ma każde dwa wystąpienia (dla nadmiarowości) i jedno z 4...

15
Jednostka testująca nieważną metodę

Aby naprawić błąd w aplikacji, zmodyfikowałem metodę o nazwie postLogin, dodając wywołanie do istniejącej metody o nazwie getShoppingCart. Kod protected void postLogin() { getShoppingCart(); } Nie jestem jednak pewien, jaki jest najlepszy sposób na napisanie testu jednostkowego postLogin....

15
Czysta architektura - zbyt wiele klas przypadków użycia

Wchodzę w czystą architekturę i podnoszę poziom Androida z MVC do MVP , wprowadzając DI z Dagger 2, Reactivity z RxJava 2 i oczywiście Java 8. W czystej architekturze MVP istnieje warstwa między jednostkami (w magazynach danych) a prezenterami, które powinny mieć do nich dostęp. Ta warstwa to...

15
Trzymasz „kod” z dala od projektantów?

Buduję sporo projektów z moim przyjacielem, ale zawsze dochodzimy do tego samego pułapki. Wiem, jak pisać PHP, JavaScript i inne rzeczy (znam również CSS i HTML), więc mogę wykonać większość pracy, jeśli chodzi o budowanie faktycznej funkcjonalności. Jednak nie może, ale może zrobić coś, czego...

15
Zespół ocenia punkty fabularne, biznes chce rzeczywistego czasu

Jestem pewien, że nie jest to rzadki motyw. Mamy dwa zespoły scrumowe, które dobrze oceniają historie użytkowników przy użyciu punktów fabularnych (obecne konstelacje zespołu mają zaledwie około 8 miesięcy, chociaż członkowie zespołu mają kilkuletnie doświadczenie w scrumie). Ale część biznesowa...