Inżynieria oprogramowania

9
Czy lepiej używać monady błędów z weryfikacją w funkcjach monadycznych, czy implementować własną monadę z weryfikacją bezpośrednio w powiązaniu?

Zastanawiam się, co lepiej zaprojektować pod kątem użyteczności / konserwacji, a co lepiej, jeśli chodzi o dopasowanie do społeczności. Biorąc pod uwagę model danych: type Name = String data Amount = Out | Some | Enough | Plenty deriving (Show, Eq) data Container = Container Name deriving (Show,...

9
Mam poprzedni wynalazek (oprogramowanie / framework), który planuję wykorzystać w mojej nowej pracy. Co stanie się z moimi prawami autorskimi, jeśli poprawię je podczas pracy?

Wypełniłem ten standardowy formularz, w którym wymieniasz swoje wcześniejsze wynalazki przed rozpoczęciem nowej pracy, więc pracodawca jest prawnie świadomy, że masz do nich prawa autorskie. Ale jeśli chcę użyć tego wynalazku (kodu / frameworka oprogramowania) w mojej nowej pracy, czy mieliby do...

9
Jak testujesz enkoder?

Mam coś takiego: public byte[] EncodeMyObject(MyObject obj) Testowałem tak: byte[] expectedResults = new byte[3]{ 0x01, 0x02, 0xFF }; Assert.IsEqual(expectedResults, EncodeMyObject(myObject)); EDYCJA: Dwa proponowane przeze mnie sposoby to: 1) Używanie zakodowanych oczekiwanych wartości, jak...

9
wykrywanie cykli wykresów - proste wyjaśnienie

czy ktoś mógłby pomóc mi zrozumieć, jak znaleźć cykle na wykresach w kategoriach laika? Czytałem inne pytania, takie jak To, a także niektóre strony wikipedii, ale wydają się one dość szybko schodzić na matematyczny żargon. Mam model wykresu w Javie, modelowanie węzłów oraz krawędzie „wejściowe”...

9
Dostęp do historii `ref` w Clojure

Dokumentacja ref pokazuje opcję: max-historii i stwierdza, że „sędziowie gromadzić historię dynamicznie, ile potrzeba do czynienia z czytanych żądań.” Widzę, że na REPL jest historia, ale nie widzę, jak znaleźć poprzednie wartości referencji: user=> (def the-world (ref "hello" :min-history...

9
Dlaczego Go ma specjalną skrzynkę na abs (0)

Bawiłem się z Go i znalazłem ten szczególny interesujący kod funkcji abs w pakiecie matematycznym: http://golang.org/src/pkg/math/abs.go 14 func abs(x float64) float64 { 15 switch { 16 case x < 0: 17 return -x 18 case x == 0: 19 return 0 // return correctly abs(-0) 20 } 21 return x 22...