Inżynieria oprogramowania

11
Wczesne podzadanie na początku każdego sprintu

Dołączyłem do nowego zespołu, który używa Agile / Scrum, a ich proces rozwoju jest następujący: 1) programiści sprawdzają każdą historię przed każdym sprintem, aby upewnić się, że nie przeoczy niczego krytycznego. Jest taki stan formalny w przepływie pracy. 2) podczas rozpoczęcia Sprint cała...

11
Prosty i przejrzysty sposób porównywania trzech liczb

Mam kod, który ma sekwencję ifs, która działa, ale po prostu niechlujny. Zasadniczo chcę wybrać największą z trzech liczb całkowitych i ustawić flagę statusu, aby powiedzieć, która została wybrana. Mój obecny kod wygląda następująco: a = countAs(); b = countBs(); c = countCs(); if (a > b...

11
Oddzielny interfejs dla metod mutacji

Pracowałem nad refaktoryzacją kodu i myślę, że mogłem zrobić pierwszy krok w stronę króliczej nory. Piszę przykład w Javie, ale przypuszczam, że może być agnostyczny. Mam interfejs Foozdefiniowany jako public interface Foo { int getX(); int getY(); int getZ(); } I wdrożenie jako public...

11
Wpisz system wydajności

Czy istnieją systemy (statyczne), które próbują sformalizować charakterystykę wydajności programów? Nie mogę znaleźć takich prób. Ponieważ systemy typów są (jednym z) najpotężniejszych narzędzi w arsenale programisty do wypowiadania się na temat programów, a ponieważ istnieje wiele przypadków, w...

11
Jak zawiesić obsługę Open Source? [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 4 lata temu . Jestem jedynym aktywnym...

11
Przekazywanie danych z serwera do klienta bez żądania klienta?

Podczas przeglądania Stack Exchange zauważyłem, że są dynamiczne powiadomienia, takie jak „3 nowe wiadomości, kliknij, aby pokazać”. Chcę mieć tego rodzaju dynamiczną aktualizację tego, co zamierzam wyjaśnić. Powiedzmy, że chcę stworzyć karuzelę / pokaz slajdów z 10 ostatnich artykułów. Chcę, aby...

11
Klasy Python z tylko jedną instancją: Kiedy utworzyć (pojedynczą) instancję klasy, a kiedy zamiast tego pracować z klasą?

Biorąc pod uwagę klasę Python, która zostanie utworzona tylko raz, tzn. Będzie tylko jeden obiekt klasy. Zastanawiałem się, w jakich przypadkach sensowne jest utworzenie instancji pojedynczej klasy zamiast pracy bezpośrednio z klasą. Jest podobne pytanie , ale koncentruje się na innym: chodzi o...

11
Zasada DRY w dobrych praktykach?

Staram się przestrzegać zasady DRY w moim programowaniu tak mocno, jak potrafię. Ostatnio uczyłem się wzorców projektowych w OOP i skończyło się na tym, że powtarzałem sobie całkiem sporo. Utworzyłem wzorzec repozytorium wraz ze wzorami Factory i Gateway, aby obsłużyć moją trwałość. Korzystam z...

11
Czy zakres poziomu pakietu Java jest przydatny?

Rozumiem ideę zakresu pakietu, a czasami nawet myślałem, że tego chcę. Jednak za każdym razem, gdy zdecydowałem się na poważny zamiar wypróbowania go, odkryłem, że nie odpowiada on potrzebom, które, jak sądzę, będą służyć. Moim głównym problemem zawsze wydaje się to, że rzeczy, które chciałbym...

11
Kiedy używać ogólnych w projektowaniu interfejsu

Mam pewne interfejsy, które zamierzam wdrożyć w przyszłości przez strony trzecie, i sam zapewniam podstawowe wdrożenie. Będę używał tylko kilku, aby pokazać przykład. Obecnie są one zdefiniowane jako Pozycja: public interface Item { String getId(); String getName(); } ItemStack: public...

11
Foreach i inicjalizacja zmiennej

Czy istnieje różnica między tymi dwiema wersjami kodu? foreach (var thing in things) { int i = thing.number; // code using 'i' // pay no attention to the uselessness of 'i' } int i; foreach (var thing in things) { i = thing.number; // code using 'i' } Czy to nie obchodzi kompilatora?...