Inżynieria oprogramowania

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

3
Czy są jakieś języki OO bez dziedziczenia?
Podczas dzisiejszego przeglądu kodu mój kolega powiedział coś interesującego: prototypeprzydaje się tylko wtedy, gdy potrzebujesz dziedziczenia - a kiedy dziedziczenie jest zawsze dobrym pomysłem ? Pomyślałem o tym i zdałem sobie sprawę, że zwykle używam dziedziczenia, aby obejść kod, który został źle zaprojektowany. Współczesny styl OO woli kompozycję niż dziedziczenie, …

2
Dlaczego Scala powrócił, ale nie pękł i kontynuował
Scala nie ma breaklub continue, więc pewne zachowanie w pętli wymaga nieco więcej myślenia. Wcześniejsze zakończenie pętli wymaga rekurencji ogona, wyjątków lub scala.util.control.Breaks(która korzysta z wyjątków). Uzasadnieniem tego jest to, gotoże są to konstrukcje przepływowe, które zaciemniają przepływ i mogą być osiągnięte w lepszy, mniej zaskakujący sposób. Wygląda jednak na …

2
Czy aplikacja ASP.NET MVC powinna bezpośrednio używać Entity Framework jako modelu?
Buduję swoją pierwszą aplikację MVC w Visual Studio 2013 (MVC 5) i jestem trochę niejasny, jak najlepiej skonfigurować mój model. Wygenerowałem model struktury encji przy użyciu kodu najpierw z istniejącej bazy danych. Moim pierwszym instynktem było stworzenie pewnych klas pośrednich, które byłyby modelem używanym przez widoki i aby te klasy …


2
Najczystszy sposób zgłaszania błędów w Haskell
Pracuję nad nauką języka Haskell i natknąłem się na trzy różne sposoby radzenia sobie z błędami w funkcjach, które piszę: Potrafię po prostu pisać error "Some error message.", co rzuca wyjątek. Mogę zwrócić funkcję Maybe SomeType, w której mogę, ale nie muszę, zwrócić tego, co chciałbym zwrócić. Mogę mieć funkcję …

4
Jak mogę używać testów jednostkowych i TDD do testowania aplikacji, która opiera się głównie na operacjach CRUD bazy danych?
W pracy jeden z moich projektów polega głównie na pobieraniu danych przekazywanych od klienta zewnętrznego i utrwalaniu ich w bazie danych. Jest to aplikacja Java dla przedsiębiorstw korzystająca z JPA i większość naszej logiki dotyczy operacji CRUD. Większość naszych błędów dotyczy JPA w taki czy inny sposób. Przykład 1: Jeśli …
22 java  unit-testing  tdd  jpa 

3
Jak wdrożyć losowe ważenie
Niedawno napisałem kod, który uważałem za bardzo nieefektywny, ale ponieważ zawierał tylko kilka wartości, zaakceptowałem go. Nadal jednak interesuje mnie lepszy algorytm dla następujących elementów: Lista X obiektów, z których każdy ma przypisaną „wagę” Zsumuj wagi Wygeneruj losową liczbę od 0 do sumy Iteruj przez obiekty, odejmując ich wagę od …
22 algorithms 

7
Kodowanie i testowanie w tym samym sprincie
Jak odbywa się testowanie w ramach tego samego sprintu co kodowanie, jeśli całość lub większość kodowania nie jest wykonywana do końca sprintu? (Mam na myśli opracowanie „zupy do orzechów” i testowanie pojedynczego PBI w sprincie). Większość odpowiedzi, które widziałem online, dotyczy automatyzacji kontroli jakości, ale nawet to nie jest tak …


7
Wzory do propagowania zmian w górę modelu obiektowego ..?
Oto typowy scenariusz, który zawsze frustruje mnie. Mam model obiektu z obiektem nadrzędnym. Element nadrzędny zawiera niektóre obiekty podrzędne. Coś takiego. public class Zoo { public List<Animal> Animals { get; set; } public bool IsDirty { get; set; } } Każdy obiekt podrzędny ma różne dane i metody public class …



2
Jak utworzyć środowisko, w którym testy naprawcze są traktowane priorytetowo?
Jestem inżynierem oprogramowania w średniej wielkości firmie. Mamy dość solidną platformę testową działającą w TeamCity. Wykonuje testy jednostkowe przy każdym zameldowaniu oraz codzienny test jednostkowy / przebieg BVT. Problem polega na tym, że mamy wiele zepsutych testów jednostkowych. Dość często podnoszę bezcelowość testów jednostkowych, jeśli są one ciągle łamane i …



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.