Inżynieria oprogramowania

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

6
Kto w Scrumie weryfikuje „Gotowe”?
Jestem kierownikiem ds. Kontroli jakości / testów w mojej organizacji i do dziś zweryfikowałem jakość oprogramowania (testy napisane i wykonane oraz usunięte błędy). Kto to zweryfikuje w Scrumie? Skąd mam wiedzieć, że zespół napisał i wykonał wszystkie właściwe testy? Z drugiej strony obawiam się, że jeśli będę kontynuować weryfikację, zespół …
13 scrum 

4
Co zrobić, gdy Twoja firma nie szyfruje haseł
tło Kontraktowano mnie, aby pomóc firmie w utrzymaniu serwera. Pracuję nad niektórymi mniejszymi projektami PHP, ale również sprawdzam problemy z wydajnością, a ostatnio skanuję dzienniki w poszukiwaniu hakerów. Ci faceci już od jakiegoś czasu pracują nad swoim serwerem i mają to, co nazwałbym starszą aplikacją. Wykorzystuje magiczne cytaty, zmienne globalne …
13 php  apache  security  mysql 

2
Po co rozdzielać klasę CommandHandler za pomocą Handle () zamiast obsługi metody w samym Command
Mam część wzorca CQRS zaimplementowanego przy użyciu architektury S # arp w następujący sposób: public class MyCommand { public CustomerId { get; set; } // some other fields } public class MyCommandHandler<MyCommand> : ICommandHandler<MyCommand, CommandResult> { Handle(MyCommand command) { // some code for saving Customer entity return CommandResult.Success; } } …

5
Jak symulować interfejs API REST?
Pracuję nad nowym projektem, który będzie wyszukiwał dane z interfejsu API REST innej firmy. Odnosi się to do sportowego pliku danych w czasie rzeczywistym, więc kanał działa tylko wtedy, gdy gra rzeczywiście się odbywa. Chociaż firma zewnętrzna zapewnia dobrą dokumentację (XSD itp.), Nie ma możliwości symulowania rozgrywki, więc aby przetestować …
13 api  rest 

2
Czy typy są kasowane w Haskell?
Haskell ma pojęcie „funkcji ogólnych”, które ma pewne pozorne podobieństwo ze wspólnym seplenieniem - nie mając doświadczenia z Haskellem ani ze wspólnym seplenieniem, mogę tu być bardzo przybliżony. Oznacza to, że można zdefiniować ogólne to_stringnarzędzie do zdefiniowania reprezentacji ciągu dla wszystkich typów. Oczywiście obiekt należy zdefiniować w szczególnych przypadkach, ale …


6
Programowanie kontraktowe a test jednostkowy
Jestem nieco defensywnym programistą i wielkim fanem kontraktów Microsofts Code. Teraz nie zawsze mogę używać C # iw większości języków jedynym narzędziem, jakie mam, jest twierdzenie. Więc zwykle kończę na takim kodzie: class { function() { checkInvariants(); assert(/* requirement */); try { /* implementation */ } catch(...) { assert(/* exceptional …

2
Zaimplementuj typ Haskell z interfejsem C #
Próbuję porównać klasy typów Haskella i interfejsy C #. Załóżmy, że istnieje Functor. Haskell: class Functor f where fmap :: (a -> b) -> f a -> f b Jak zaimplementować tę klasę typu jako interfejs w języku C #? Co próbowałem: interface Functor<A, B> { F<B> fmap(Func<A, B> f, …
13 c#  haskell 

1
Dlaczego dołączanie do listy w Scali ma złożoność czasową O (n)?
Właśnie przeczytałem, że czas wykonania operacji dołączania dla List(: +) rośnie liniowo wraz z rozmiarem pliku List. Dołączanie do Listwydaje się dość powszechną operacją. Dlaczego idiomatycznym sposobem na to jest przygotowanie komponentów, a następnie odwrócenie listy? Nie może to być również błąd projektu, ponieważ implementacja może zostać zmieniona w dowolnym …

6
Jak ćwiczyć programowanie obiektowe? [Zamknięte]
Zamknięte . To pytanie jest oparte na opiniach . Obecnie nie przyjmuje odpowiedzi. Zamknięte 6 lat temu . Zablokowana . To pytanie i odpowiedzi są zablokowane, ponieważ pytanie jest nie na temat, ale ma znaczenie historyczne. Obecnie nie akceptuje nowych odpowiedzi ani interakcji. Zawsze programowałem w językach proceduralnych i obecnie …

6
Jakie funkcje są warte trochę pomieszania OOP z korzyściami, które przynoszą?
Po nauczeniu się programowania funkcjonalnego w języku Haskell i F #, paradygmat OOP wydaje się działać wstecz w stosunku do klas, interfejsów, obiektów. Jakie aspekty PR mogę wnieść do pracy, które moi współpracownicy mogą zrozumieć? Czy są jakieś style FP warte rozmowy z moim szefem na temat przekwalifikowania mojego zespołu, …

2
Ponieważ Garbage Collection jest niedeterministyczny, dlaczego nie jest wykorzystywany do bezpiecznego generowania liczb losowych?
Rozumiem, że / dev / random jest dobrym źródłem entropii i jest to zwykle używane. Tak jak czytam na GC, przynajmniej w Javie, wydaje się akceptowane, że demon odśmiecania działa w sposób niedeterministyczny . Jeśli to prawda, to dlaczego nie używamy czasu wyrzucania elementów bezużytecznych jako źródła entropii zamiast zmiennej …

4
Czy linq jest bardziej wydajny niż wydaje się na powierzchni?
Jeśli napiszę coś takiego: var things = mythings .Where(x => x.IsSomeValue) .Where(y => y.IsSomeOtherValue) Czy to to samo, co: var results1 = new List<Thing>(); foreach(var t in mythings) if(t.IsSomeValue) results1.Add(t); var results2 = new List<Thing>(); foreach(var t in results1) if(t.IsSomeOtherValue) results2.Add(t); A może pod przykryciem jest jakaś magia, która działa …
13 c#  linq 

3
Czy właściwie ustawiamy się w kolejce i serializujemy?
Przetwarzamy wiadomości za pośrednictwem różnych usług (jedna wiadomość dotyka prawdopodobnie 9 usług przed ich wykonaniem, każda pełni określoną funkcję związaną z We / Wy). W tej chwili mamy kombinację najgorszego przypadku (serializacja kontraktu danych XML) i najlepszego przypadku (MSMQ w pamięci) pod względem wydajności. Charakter wiadomości oznacza, że ​​nasze serializowane …

3
W jaki sposób menedżer inny niż IT powinien zapewnić długoterminową konserwację i rozwój niezbędnego starszego oprogramowania?
Jesteśmy małą, bardzo wyspecjalizowaną firmą administrującą świadczeniami, dysponującą niezwykle użytecznym, solidnym zbiorem oprogramowania, niektóre napisane w języku COBOL, ale w większości w języku BASIC. Dwóch pełnoetatowych konsultantów sprawnie utrzymało i ulepszyło ten system przez ponad 30 lat. Nie trzeba dodawać, że wkrótce przejdą na emeryturę. (Jedna z nich desperacko pragnęła …
13 legacy 

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.