Inżynieria oprogramowania

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

1
Możliwe ulepszenie Damerau-Levenshtein?
Niedawno zaimplementowałem algorytm odległości Damerau-Levenshteina z pseudokodu na Wikipedii. Nie mogłem znaleźć żadnego wyjaśnienia dokładnie jak to działa i pseudokod używa nazwy zmiennych całkowicie uninformative jak DA, DB, i1, i j1że zostawiła mnie drapania moją głowę. Oto moja implementacja w Pythonie: https://gist.github.com/badocelot/5327337 Implementacja Pythona pomogła mi przejść przez program i …

2
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 …
9 go 

4
Dlaczego należy unikać dziedziczenia?
Pamiętam naukę VB4 i przeciąganie przycisku do formularza, dwukrotne kliknięcie tego przycisku i pisanie kodu w module obsługi zdarzeń, którym właśnie zostałem magicznie pobłogosławiony. Pochodząc z QBASIC byłem zachwycony „V” w „VB”, projektant wizualny był dosłownie najlepszą rzeczą od krojonego chleba. Oczywiście możesz zrobić to wszystko programowo, ale magia „V” …

5
Czy przesłanie żądania ściągnięcia może kiedykolwiek oznaczać zaakceptowanie umowy licencyjnej dla współtwórców? [Zamknięte]
Zamknięte. To pytanie jest nie na temat . Obecnie nie przyjmuje odpowiedzi. Chcesz poprawić to pytanie? Zaktualizuj pytanie, aby było tematem dotyczącym wymiany stosów inżynierii oprogramowania. Zamknięte 4 lata temu . Niektóre projekty oprogramowania zawierają Umowę Licencyjną Współtwórcy . Umowa może, na przykład, przenieść prawa autorskie do wkładów stron trzecich …

4
Styl programowania w Perlu
Pracuję w Javie, więc zasadniczo używam paradygmatu OOP podczas kodowania. Zaraz zacznę pracować w Perlu i zastanawiałem się, jaki jest paradygmat, którym kierują się programiści Perla. W wiki wspomina, że ​​obsługuje wiele paradygmatów, ale nie jestem pewien, czy to rozumiem, ponieważ jest to język skryptowy. Więc moje pytanie brzmi: czy …

1
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 10)) #'user/the-world user=> (do (dosync (ref-set the-world "better")) @the-world) "better" user=> …
9 clojure  stm 

4
Czy niedeterministyczne zarządzanie zasobami jest nieszczelną abstrakcją?
Z tego, co widzę, istnieją dwie wszechobecne formy zarządzania zasobami: zniszczenie deterministyczne i wyraźne. Przykładami tego pierwszego byłyby niszczyciele i inteligentne wskaźniki C ++ lub podrzędny DESTROY Perla, a drugim przykładem byłby paradygmat Ruby do zarządzania zasobami lub interfejs IDNET .NET. Wydaje się, że nowsze języki wybierają to drugie, być …

3
Dobry przykład tablicy o zmiennej długości C [zamknięty]
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 . To pytanie zyskało mroźny odbiór w SO, więc postanowiłem je tam usunąć i spróbować tutaj. …
9 c++  c  stack  heap 

3
Reguły dotyczące konkretności typów parametrów metody, typów zwracanych i typów właściwości
Jakiś czas temu przeczytałem rodzaj „ogólnej zasady” na temat konkretności typów parametrów metody, typów zwracanych i typów właściwości, ale po prostu tego nie pamiętam. Mówiło coś o tym, aby typy zwracane były jak najbardziej konkretne, a typy parametrów jak najbardziej abstrakcyjne ... lub odwrotnie. Nie wiem, czy tak naprawdę była …



2
Jak połączyć „Command” i „Composite”, aby zasymulować opóźnienie czasowe?
Jako ćwiczenie edukacyjne (nie jestem w szkole - po prostu stary facet stara się nauczyć czegoś nowego), próbuję napisać symulację bramki logicznej, która zawiera opóźnienie propagacji. Użytkownik powinien także mieć możliwość grupowania bramek w celu tworzenia obiektów wyższego poziomu. Chcę zastosować wzorce projektowe do mojego problemu, ale mam trudności. Czytam …

2
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” i „wyjściowe” - i model …
9 graph 

1
Czy używanie „{}” w ciągach formatu jest uważane za Pythonic?
Właśnie nauczyłem się, że możesz pisać '{}{}'.format(string_a, string_b) zamiast '{0}{1}'.format(string_a, string_b) w Pythonie, tzn. możesz pominąć cyfry parametrów formatu łańcucha, jeśli chcesz, aby elementy były umieszczane jeden po drugim w kolejności. Czy to uważa się za Python? UWAGA: „Pythonic” jest powszechnie używanym terminem wśród programistów Python, oznaczającym idiomatyczny kod Python. …

1
Czy Rebol jest funkcjonalnym językiem programowania?
Wpadłem na Rebola i zastanawiałem się nad tym. Pobiegłem do następującego skryptu z tutaj : use [feed questions answers][ feed: load-xml/dom http://stackoverflow.com/feeds/tag/rebol questions: map-each entry feed/get-by-tag <entry> [ find/match entry/get <id> "http://stackoverflow.com/q/" ] answers: make block! length? questions foreach question questions [ question: load-xml/dom join http://stackoverflow.com/feeds/question/ question foreach entry next …

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.