Inżynieria oprogramowania

13
Dlaczego behawioralne podtypowanie jest nierozstrzygalne?

Prace Liskova w tym obszarze koncentrowały się na podtypach behawioralnych, które oprócz bezpieczeństwa systemu typów omawianego w tym artykule wymagają również, aby podtypy zachowywały wszystkie niezmienniki gwarantowane przez nadtypy w niektórych kontraktach [3]. Ta definicja podtypu jest na...

13
Zepsute stare / starsze testy jednostkowe

Pracuję dla dużej firmy i jestem odpowiedzialny za dużą aplikację Java z tysiącami testów Junit. Od kiedy przeniosłem się do tej roli, przeprowadzono 200–300 zepsutych testów (prawdopodobnie zepsutych przez lata). Testy są stare i kruche i stanowią bałagan zależności od spaghetti, które zwykle...

13
Czy nadużywamy metod statycznych?

Kilka miesięcy temu zacząłem pracować nad nowym projektem, a kiedy przejrzałem kod, uderzyło mnie ilość użytych metod statycznych. collectionToCsvString(Collection<E> elements)Przechowuje się w nich nie tylko metody użytkowe , ale także mnóstwo logiki biznesowej. Kiedy zapytałem faceta...

13
Zapewnienie lokalnych zasobów JS i CSS na potrzeby awarii CDN

Jeśli się uwzględni Sieci CDN są dobrą rzeczą, ponieważ mogą obsługiwać zasoby bliżej klienta, klient może je buforować i można zmniejszyć obciążenie własnego serwera. W najnowszych przeglądarkach ładowanie zasobów z serwerów innych firm nie zmniejsza bezpieczeństwa dzięki Subresource Integrity...

13
Licencjonowanie na Github

Przesyłam na GitHub po raz pierwszy i mam wątpliwości co do licencjonowania. Nie wiedziałem, że ten temat został odkryty w sieci! Ale nawet to skomplikowane, moja sytuacja jest tak typowa, że ​​chyba większość osób korzystających z Github już o tym wie. Chcę tylko publicznie przesłać aplikację...