Inżynieria oprogramowania

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

2
Pozyskiwanie zdarzeń CQRS +: (czy to prawda, że) Polecenia są zazwyczaj przekazywane punkt-punkt, podczas gdy zdarzenia domeny są przekazywane przez pub / sub?
Zasadniczo próbuję owinąć głowę koncepcją CQRS i powiązanymi koncepcjami. Chociaż CQRS niekoniecznie obejmuje przesyłanie wiadomości i pozyskiwanie zdarzeń, wydaje się być dobrą kombinacją (co można zobaczyć w wielu przykładach / postach na blogu łączących te pojęcia) Biorąc pod uwagę przypadek użycia dla zmiany stanu czegoś (powiedzmy, aby zaktualizować Pytanie na …

2
Wydajna implementacja Trie dla ciągów Unicode
Szukałem wydajnej implementacji String trie. Przeważnie znalazłem taki kod: Referencyjna implementacja w Javie (na wikipedię) Nie podobają mi się te wdrożenia z dwóch powodów: Obsługują tylko 256 znaków ASCII. Muszę obejmować takie rzeczy jak cyrylica. Są wyjątkowo nieefektywne pod względem pamięci. Każdy węzeł zawiera tablicę 256 odniesień, czyli 4096 bajtów …
12 unicode  trie 

1
Używanie wzorca gościa z hierarchią dużych obiektów
Kontekst Używałem z hierarchią obiektów (drzewa wyrażeń) wzorca „pseudo” użytkownika (pseudo, ponieważ w nim nie stosuje podwójnej wysyłki): public interface MyInterface { void Accept(SomeClass operationClass); } public class MyImpl : MyInterface { public void Accept(SomeClass operationClass) { operationClass.DoSomething(); operationClass.DoSomethingElse(); // ... and so on ... } } Ten projekt był …


2
Dokumentowanie języka programowania: Instrukcja obsługi
Patrzymy na dokumentację dotyczącą modernizacji w całej naszej linii produktów. Część z nich obejmuje podręczniki do języka programowania używanego jako część systemu. Kiedy pisząc instrukcję obsługi dla języka programowania, jaki jest najlepszy sposób, aby go ustrukturyzować, aby zapewnić maksymalną użyteczność osobom początkującym w języku? Jakie są kluczowe aspekty każdego udokumentowanego …


3
Czy główna metoda powinna składać się tylko z tworzenia obiektów i wywołań metod?
Mój przyjaciel powiedział mi, że najlepszą praktyką jest to, że mainmetoda zawierająca klasy powinna być nazwana Maini zawiera tylko mainmetodę. Również mainmetoda powinna analizować dane wejściowe, tworzyć inne obiekty i wywoływać inne metody. MainKlasy i mainmetody nie powinien robić niczego innego. Zasadniczo to, co mówi, że mainmetoda zawierająca klasy powinna …

3
Czy powinienem zagnieżdżać funkcje w językach, które mi na to pozwalają, czy raczej powinienem tego unikać?
W JavaScript, PL / SQL i niektórych innych językach funkcje mogą być zagnieżdżone, tzn. Zadeklarowane w innej funkcji. Można to wykorzystać do podzielenia dużej funkcji na mniejsze części, ale zachowaj je w kontekście większej funkcji. function doTooMuch() { function doSomething () { ... } function doSomethingElse() { ... } function …

4
Obiekty biznesowe w warstwie dostępu do danych
Tworzyłem więc warstwę dostępu do danych za pośrednictwem TDD i podniosłem nieco problem. Wolę nie zaczynać złą drogą, więc pomyślałem, że poproszę was, abyście sprawdzili, czy moje myśli są zgodne z czystą architekturą. Metody w mojej warstwie dostępu do danych (w skrócie DAL) są dość proste. Są one zgodne z …

7
Nasza wersja Agile nie działa. Porady
Pracuję w małym zespole złożonym z 4 programistów. Wdrażamy wersję Agile, która wydaje się stale dostarczać nam te same trudności, tydzień po tygodniu, i szukam sugestii, które mogą pomóc nam ulepszyć nasz proces. Tło: Zazwyczaj wykonujemy 2-tygodniowe sprinty i każdy sprint ma tendencję do niedoceniania naszej pracy i mamy kłopoty …
12 agile 

2
Przepływ pracy Git dla wielu zespołów
Zaczniemy używać Gita (jeszcze go nie używam) i chcę zdefiniować przepływ pracy. Mamy 4 zespoły w 4 różnych globalnych lokalizacjach, które wspólnie opracowują ten sam produkt. Każdy zespół jest właścicielem części kodu produktu, ale czasami muszą również wprowadzić zmiany w kodzie należącym do innych zespołów. Czy istnieje zalecenie dotyczące przepływu …


4
Dlaczego musimy napisać plik nagłówka?
Zanim wyciągniesz swoje wredne komentarze, wiem - to pytanie nooby. Po raz pierwszy używam języka opartego na C. Jestem studentem licencjackim uczącym się Celu C na kursie informatyki na temat programowania urządzeń mobilnych. Wiem, że w środowisku akademickim wiele faktów nie jest koniecznych, ponieważ budujesz mniejsze projekty, pracujesz w mniejszych …

3
Licencja na oprogramowanie ograniczająca wykorzystanie komercyjne, takie jak CC BY-NC-SA
Chcę rozpowszechniać moje oprogramowanie na licencji Creative Commons Uznanie autorstwa - Użycie niekomercyjne - Licencja Share Alike, tj Redystrybucja kodu źródłowego i plików binarnych jest dowolna. Zmodyfikowana wersja programu musi być rozpowszechniana na tej samej licencji. Przypisanie do oryginalnego projektu należy dostarczyć. Ogranicz dowolne wykorzystanie komercyjne. Jednak CC nie zaleca …

2
Dodanie testów jednostkowych do starszego, prostego projektu C.
Tytuł mówi wszystko. Moja firma ponownie używa starszego projektu oprogramowania układowego dla urządzenia mikrokontrolera, napisanego całkowicie zwykłym C. Są części, które są oczywiście błędne i wymagają zmiany, a pochodzące z tła C # / TDD Nie podoba mi się pomysł losowego refaktoryzowania rzeczy bez testów, które zapewniłyby nas, że funkcjonalność …

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.