Inżynieria oprogramowania

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

4
Czy dane testowe powinny być sprawdzane w kontroli wersji?
Piszę kod testowy dla funkcji przetwarzającej pliki PDF. Podstawowa idea testów polega na tym, że kieruję je w stronę wybranych plików PDF, które przetwarzam i sprawdzam, czy wyniki są zgodne z oczekiwaniami. Moje pytanie brzmi: gdzie powinienem przechowywać te duże pliki PDF? Czy powinienem sprawdzić je w kontroli wersji wraz …

3
Co to jest pomocnik? Czy to wzór? Czy to jest algorytm?
Może trochę zuchwale, ale ponieważ nigdzie nie mogę znaleźć tej odpowiedzi za pośrednictwem Google, więc aby upewnić się, że Inżynieria oprogramowania ma odpowiedź: Co to jest pomocnik? Widziałem tę nazwę wszędzie używaną (nazwy modułów, nazwy klas, nazwy metod), jak gdyby semantyka była głęboka i znacząca, ale w kontekście informatyki (chociaż …


9
Czy w moich metodach należy akceptować puste kolekcje, które się nad nimi powtarzają?
Mam metodę, w której cała logika jest wykonywana w pętli foreach, która iteruje nad parametrem metody: public IEnumerable<TransformedNode> TransformNodes(IEnumerable<Node> nodes) { foreach(var node in nodes) { // yadda yadda yadda yield return transformedNode; } } W takim przypadku wysłanie pustej kolekcji skutkuje pustą kolekcją, ale zastanawiam się, czy to nierozsądne. …

3
Czym, w odniesieniu do DDD, jest kontekst ograniczony?
Podczas pracy nad książką „Implementing Domain Driven Design” autorstwa Vaughna Vernona nie byłem w stanie dobrze zrozumieć, czym właściwie jest ograniczony kontekst. Książka definiuje ograniczony kontekst jako „konceptualną granicę, w której ma zastosowanie model domeny. Zapewnia wszechobecny język, którym posługuje się zespół i który wyraża się w jego starannie zaprojektowanym …

9
Czy potrzebujemy logowania podczas wykonywania TDD?
Wykonując cykl Czerwony, Zielony i Refaktor, zawsze powinniśmy napisać minimalny kod, aby przejść test. W ten sposób nauczono mnie TDD i sposób, w jaki prawie wszystkie książki opisują ten proces. Ale co z rejestrowaniem? Szczerze mówiąc rzadko używałem logowania do aplikacji, chyba że działo się coś naprawdę skomplikowanego, jednak widziałem …

2
Mieszanie interfejsu Angular i ASP.NET MVC / Web?
Pochodzę z używania ASP.NET MVC / Web API i teraz zaczynam używać Angulara, ale nie jestem pewien, jaki jest właściwy sposób ich mieszania. Kiedy używam Angulara, czy koncepcje po stronie serwera MVC nadal zapewniają jakąkolwiek wartość? A może powinienem używać interfejsu API sieci Web wyłącznie do pozyskiwania danych dla kątowych …

16
Dobry pomysł, aby wstawić numery błędów w komentarzu na początku pliku źródłowego? [Zamknięte]
Czy dobrą praktyką jest umieszczanie numerów błędów w samym pliku w komentarzu nagłówka? Komentarze wyglądałyby mniej więcej tak: MODIFIED (MM/DD/YY) abc 01/21/14 - Bug 17452317 - npe in drill across in dashboard edit mode cde 01/17/14 - Bug 2314558 - some other error description Wydaje się to pomocne, ale czy …

11
Czy zatwierdzanie niedziałającego kodu jest kiedykolwiek w porządku?
Czy dobrym pomysłem jest wymaganie zatwierdzenia tylko działającego kodu? To zatwierdzenie nie musi pozostawiać repozytorium w stanie roboczym, ponieważ: ... jesteśmy na wczesnym etapie projektowania, kod nie jest jeszcze stabilny. ... jesteś jedynym deweloperem projektu. Wiesz, dlaczego nic nie działa. Co więcej, nie przerywasz niczyjej pracy, popełniając uszkodzony kod. ... …

4
Osiągnięcie zerowego czasu przestoju
Usiłuję osiągnąć zerowe czasy przestoju, aby móc wdrażać mniej podczas wolnych godzin i więcej podczas „wolniejszych” godzin - lub teoretycznie w dowolnym momencie. Moja obecna konfiguracja, nieco uproszczona: Serwer WWW A (aplikacja .NET) Serwer WWW B (aplikacja .NET) Serwer bazy danych (SQL Server) Mój obecny proces wdrażania: „Zatrzymaj” witryny zarówno …


3
Co jest takiego wspaniałego w Clojure? [Zamknięte]
Ostatnio przyglądałem się Clojure i natknąłem się na ten post na Stackoverflow, który wskazuje na niektóre projekty zgodne z najlepszymi praktykami i ogólnie dobry kod Clojure. Chciałem opanować język po przeczytaniu kilku podstawowych samouczków, więc przyjrzałem się niektórym projektom z „prawdziwego świata”. Po spojrzeniu na ClojureScript i Compojure (dwa wyżej …
40 clojure 

9
Poszukuję mocnego argumentu przemawiającego za oprogramowaniem antywirusowym na komputerach programistycznych [zamknięte]
Formułując opinie, dobrym zwyczajem jest podążanie za tradycją scholastyczną - uważaj, jak możesz, wbrew posiadanej opinii i staraj się znaleźć kontrargumenty. Jednak bez względu na to, jak bardzo się staram, po prostu nie mogę znaleźć rozsądnych argumentów przemawiających za programem antywirusowym (i powiązanymi środkami bezpieczeństwa) na komputerach programistycznych. Argumenty przeciwko …

11
Czy istnieją powody, aby nie akceptować oprogramowania dostarczanego jako maszyna wirtualna?
To pytanie dotyczy logistyki, a nie pytanie techniczne. Moja firma zleciła prace nad oprogramowaniem wbudowanym. W szczególności zapłaciliśmy kontrahentowi za opracowanie systemu wbudowanego dla nas, ponieważ nie mamy odpowiedniej wiedzy wewnętrznej, aby zrobić to sami (mamy tylko programistów aplikacji komputerowych). Tak więc kontrahenci zakończyli oprogramowanie i zapytali, czy mogą nam …

7
Kiedy zmieniasz numer wersji głównej / drobnej / poprawki?
Możliwa duplikat: jakiej „konwencji nazewnictwa wersji” używasz? Czy zmieniasz numer wersji głównej / drugorzędnej / łaty tuż przed wydaniem, czy tuż po? Przykład: właśnie wydałeś 1.0.0 dla świata (huzzah!). Ale poczekaj, nie świętuj za dużo. 1.1.0 ukaże się za sześć tygodni! Naprawiasz błąd i robisz nową kompilację. Jak nazywa się …
40 versioning 

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.