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 7 lat temu . Mój przyjaciel (nazwijmy go Joe ) pracuje nad obiecującym projektem i poprosił mnie o pomoc. W ramach przyjaźni zgodziłem …
Wiem, że można sprzedawać kod GPL, ale chciałem wiedzieć, czy można sprzedawać kod GPL, który został rozwidlony i zmodyfikowany. Rozwidlony i zmodyfikowany kod będzie nadal dostępny do używania, modyfikowania i redystrybucji.
We wzorze delegowanym tylko jeden obiekt może bezpośrednio nasłuchiwać zdarzeń innego obiektu. We wzorcu obserwatora dowolna liczba obiektów może nasłuchiwać zdarzenia określonego obiektu. Kiedy projektując klasę, która musi powiadamiać inne obiekty o zdarzeniach, dlaczego miałbyś kiedykolwiek używać wzorca delegowanego zamiast wzorca obserwatora? Widzę wzorzec obserwatora jako bardziej elastyczny. Możesz mieć …
Z ciekawości, czy istnieją języki, które pozwalają ci ustawiać arytmetykę typów, aby tworzyć nowe typy? Coś jak: interface A { void a(); void b(); } interface B { void b(); void c(); } interface C = A & B; // has b() interface D = A | B; // has …
Codziennie czytam artykuły na temat programowania funkcjonalnego i staram się stosować jak najwięcej praktyk. Ale nie rozumiem, co jest wyjątkowego w curry lub częściowym stosowaniu. Weź ten kod Groovy jako przykład: def mul = { a, b -> a * b } def tripler1 = mul.curry(3) def tripler2 = { …
Pracuję nad modułem synchronizacji treści dla Drupala. Istnieje moduł serwera, który znajduje się na stronie internetowej i udostępnia treści za pośrednictwem usługi internetowej. Istnieje również moduł klienta, który znajduje się w innej witrynie i pobiera i importuje zawartość w regularnych odstępach czasu. Serwer jest tworzony na Drupal 6. Klient jest …
Mamy trzy zestawy pakietów testowych: „Mały” apartament, którego uruchomienie zajmuje tylko kilka godzin „Średni” apartament, który zajmuje wiele godzin, zwykle jest uruchamiany co noc (co noc) „Duży” pakiet, którego uruchomienie zajmuje tydzień + Mamy też kilka krótszych pakietów testowych, ale nie skupiam się na nich tutaj. Obecna metodologia polega na …
Obecnie próbuję ulepszyć sposób korzystania z wyjątków i znalazłem ważne rozróżnienie między wyjątkami, które oznaczają błędy programowania (np. Ktoś przekazał wartość NULL jako argument lub wywołał metodę na obiekcie po jego usunięciu), a tymi, które oznaczają błąd w operacja, która nie jest błędem osoby dzwoniącej (np. wyjątek We / Wy). …
Wiele współczesnych języków programowania obsługuje pewne pojęcia zamknięcia , np. Fragmentu kodu (bloku lub funkcji) Może być traktowany jako wartość, a zatem przechowywany w zmiennej, przekazywany do różnych części kodu, definiowany w jednej części programu i wywoływany w zupełnie innej części tego samego programu. Może przechwytywać zmienne z kontekstu, w …
Dzisiaj próbowaliśmy wprowadzić BDD w naszym procesie tworzenia oprogramowania, prowadząc warsztat specyfikacji. Na te warsztaty mieliśmy 2 programistów, 1 tester i 1 analityk biznesowy. Warsztaty trwały 1:30 i pod koniec udało nam się wymyślić kilka scenariuszy BDD dla naszej nowej funkcji. Staraliśmy się skoncentrować na znalezieniu scenariuszy, które moglibyśmy przeoczyć, …
Obecnie próbuję uzasadnić przyjęcie zarządzania zależnościami dla kompilacji (ala Maven, Ivy, NuGet) i utworzenie wewnętrznego repozytorium dla modułów współdzielonych, z których mamy kilkanaście przedsiębiorstw. Jakie są główne zalety tej techniki budowy? Te, które do tej pory mam: Ułatwia proces dystrybucji i importowania współdzielonych modułów, zwłaszcza aktualizacji wersji. Wymaga dokładnego udokumentowania …
Niektóre projekty wypaczają wersję przed rozpoczęciem nowego rozwoju, podczas gdy inne projekty wypaczają wersję podczas oznaczania wydania. Które podejście jest lepsze? Jeśli numer wersji nie zostanie zmieniony na początku nowej fazy, programiści mogą zapomnieć o jego zmianie i po prostu wypuścić program. Jeśli numer wersji zmienił się przed oznaczeniem wydania, …
Chcę stworzyć prostą, sprawdzoną koncepcję aplikacji (REPL), która pobiera liczbę, a następnie przetwarza polecenia na tym numerze. Przykład: zaczynam od 1. Następnie piszę „ add 2”, daje mi 3. Następnie piszę „ multiply 7”, daje mi 21. Następnie chcę wiedzieć, czy jest liczbą pierwszą, więc piszę „ is prime” (na …
Co należy zrobić, gdy najbardziej oczywistą nazwą klasy dla komponentu jest struktura? W moim przypadku muszę stworzyć klasę opisującą żądanie HTTP. Oczywiście najczęstszą nazwą jest „wzięty” jako System.Web.HttpRequest. Co powinienem zrobić? Ten projekt będzie używany w kontekście internetowym, więc naprawdę nie wolę zmusić ludzi do nie importowania przestrzeni nazw System.Web …
Nie próbuję powiedzieć, że wiem coś, czego wszyscy inni nie wiedzą, ale rozwiązuję coraz więcej projektów za pomocą klas zagnieżdżonych, więc jestem ciekawy, czy mam poczucie akceptowalności korzystania z tego pozornie rzadko używanego mechanizm projektowania. To prowadzi mnie do pytania: czy schodzę z natury złą drogą z powodów, które odkryję, …
Używamy plików cookie i innych technologii śledzenia w celu poprawy komfortu przeglądania naszej witryny, aby wyświetlać spersonalizowane treści i ukierunkowane reklamy, analizować ruch w naszej witrynie, i zrozumieć, skąd pochodzą nasi goście.
Kontynuując, wyrażasz zgodę na korzystanie z plików cookie i innych technologii śledzenia oraz potwierdzasz, że masz co najmniej 16 lat lub zgodę rodzica lub opiekuna.