Inżynieria oprogramowania

17
Czy istnieje potrzeba klasy fabrycznej do tworzenia modeli?

Mój kolega zasugerował użycie klasy fabrycznej do tworzenia obiektów viewmodel w naszych rozwiązaniach ASP.NET MVC. Chodzi o to, że może pomóc w projektowaniu i utrzymywaniu sposobu, w jaki viewmodels są wbudowane w nasze aplikacje. Chciałem dowiedzieć się, czy ktokolwiek ma takie doświadczenie....

17
Pisanie podręcznika programisty dla całej firmy

Pracuję dla małej firmy. Dział rozwoju oprogramowania firmy, zanim zostałem zatrudniony, składał się z jednego samouka, przepracowanego faceta. Teraz, gdy piszę oprogramowanie dla firmy od kilku lat, mam za zadanie ustanowienie formalnych praktyk rozwoju oprogramowania w całej firmie. Obecnie nie...

17
Czy C # -4,0 jest otwartym standardem?

Standard Ecma-334 (ISO / IEC 23270: 2006) odpowiada wersji 2.0 języka. Specyfikacja wersji 4.0 jest dostępna bezpłatnie w firmie Microsoft, ale otwarta lista specyfikacji Microsoft zawiera tylko wersję Ecma (wersja 2.0). A co z wszystkimi dobrymi funkcjami dodanymi w późniejszych wersjach (LINQ,...

17
Dlaczego drzewa rosną w dół?

Dlaczego w informatyce rosną drzewa? Mam wrażenie, że wraca do drukarki i że program przemierzający drzewo najpierw drukuje korzeń i używa pojęcia bezdennego stosu papieru, aby wyrazić nieokreślony poziom rekurencji, który można napotkać. Bibliografia: Drzewa rosną w dół, a ich korzenie...

17
Jakie są zalety hipermediów (HATEOAS)?

Nie rozumiem korzyści dla HATEOAS dla interfejsów API przeznaczonych do użytku przez programy (w przeciwieństwie do ludzi przeglądających interfejs API bezpośrednio). Jasne, że klient nie jest powiązany ze schematem adresu URL, ale jest związany ze schematem danych, co jest moim zdaniem tym...

17
Dlaczego tak nazywa się polecenie „zabicia”?

Dlaczego postanowiono nazwać killpolecenie „zabić”? To znaczy, tak, to narzędzie jest często używane do kończenia procesów, ale w rzeczywistości może być używane do wysyłania dowolnego sygnału. Czy to nie jest trochę mylące? Może istnieją jakieś historyczne powody. Wiem tylko, man killże to...

17
Motywacja i użycie konstruktorów ruchów w C ++

Niedawno czytałem o konstruktorach przenoszenia w C ++ (patrz np. Tutaj ) i staram się zrozumieć, jak one działają i kiedy powinienem ich używać. O ile rozumiem, konstruktor ruchu służy do zmniejszenia problemów z wydajnością spowodowanych kopiowaniem dużych obiektów. Strona Wikipedii mówi:...

17
Architektura danych dla metryk dziennika zdarzeń?

Moja usługa ma dużą liczbę bieżących zdarzeń użytkowników i chcielibyśmy robić takie rzeczy, jak „policzenie wystąpienia typu T od daty D ”. Staramy się podjąć dwie podstawowe decyzje: Co przechowywać? Przechowywanie każdego zdarzenia a tylko gromadzenie agregatów (Styl dziennika zdarzeń)...

17
Jak uzasadnić czas refaktoryzacji kodu?

Mają bardzo duży projekt o wartości ponad 70 000 LOC. Projekt zdecydowanie potrzebuje trochę refaktoryzacji kodu w Core Framework, a także w innych częściach. Na początku projektu nie było czasu na refaktoryzację. Z czasem jednak ponad 40 programistów dołączyło i opuściło projekt. Z mojej...

17
Jak uniknąć pułapek analizy statycznej

Pracuję w firmie, która uzyska 11 punktów w teście Joela - przynajmniej na papierze. W praktyce jednak nic nie działa tak dobrze, jak się spodziewano, a projekt działa na DEFCON 1 od pół roku. Teraz większość moich rówieśników jest zadowolona, ​​jeśli mogą wrócić do domu o 18:00 - w...

17
Jaki standard zastąpił 830-1998?

Zastanawiałem się, jak formalnie dokumentować projekty oprogramowania i dowiedziałem się o IEEE 830-1998: Zalecana praktyka dotycząca specyfikacji wymagań oprogramowania . Jednak, jak widać z tego linku, został on zastąpiony. Wiem, że 830-1998, a prawdopodobnie nawet 830-1993, są prawdopodobnie...