Inżynieria oprogramowania

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

1
Strategia testowania gier
Odziedziczyłem internetową grę edukacyjną. W ciągu ostatniego roku pracowałem nad ustabilizowaniem kodu i dodaniem nowych funkcji. Większość logiki znajduje się w interfejsie, więc testy jednostek zaplecza, choć pomocne, obejmują niewielki procent kodu. Gra osiągnęła punkt, w którym zaczyna się komplikować. Istnieją dwie różne tryby dla każdej gry, a gra zachowuje …

2
Wczesna próba usunięcia Pythona GIL spowodowała złą wydajność: Dlaczego?
W tym poście od twórcy Pythona, Guido Van Rossuma, wspomniano o wczesnej próbie usunięcia GIL z Pythona: Zostało to już wcześniej wypróbowane, z rozczarowującymi rezultatami, dlatego sam niechętnie wkładam w to wiele wysiłku. W 1999 roku Greg Stein (wraz z Markiem Hammondem?) Opracował rozwidlenie Pythona (1.5), które usunęło GIL, zastępując …
13 python 

6
Kwestionując jeden z argumentów dotyczących struktur wstrzykiwania zależności: Dlaczego tworzenie wykresu obiektowego jest trudne?
Ramy wstrzykiwania zależności, takie jak Google Guice, dają następującą motywację do ich użycia ( źródło ): Aby zbudować obiekt, najpierw zbuduj jego zależności. Ale aby zbudować każdą zależność, potrzebujesz jej i tak dalej. Więc kiedy budujesz obiekt, naprawdę musisz zbudować wykres obiektu. Ręczne budowanie wykresów obiektów jest pracochłonne (...) i …

6
Dlaczego tablice C nie mogą mieć długości 0?
Standard C11 mówi, że tablice, zarówno o wielkości, jak i o zmiennej długości „powinny mieć wartość większą niż zero”. Jakie jest uzasadnienie niedopuszczenia długości 0? Zwłaszcza w przypadku tablic o zmiennej długości doskonale jest mieć rozmiar zero co jakiś czas. Jest także przydatny w przypadku tablic statycznych, gdy ich rozmiar …
13 c  array 

3
Czy ramy wstrzykiwania zależności stanowią ryzyko zależności?
Refaktoryzowałem istniejący system, aby używać wstrzykiwania zależności, a ta praca przebiega sprawnie. Po jakimś czasie zauważyłem, że duża liczba bibliotek wewnętrznych stała się zależna od używanego przeze mnie środowiska DI. W rezultacie cały projekt zależy teraz od tego frameworka innej firmy. Widziałem ironię w rozdzielaniu wszystkich zależności, uzależniając je od …


6
Radzenie sobie z nieznajomością nazw parametrów funkcji podczas jej wywoływania
Oto problem dotyczący programowania / języka, o którym chciałbym usłyszeć twoje przemyślenia. Opracowaliśmy konwencje, których większość programistów (powinna) przestrzegać, które nie są częścią składni języków, ale służą do zwiększenia czytelności kodu. Oczywiście są one zawsze przedmiotem dyskusji, ale są przynajmniej niektóre podstawowe koncepcje, które większość programistów uważa za przyjemne. Właściwe …

8
Dlaczego musimy używać div?
Dziś rano, kiedy pisałem trochę html i haml, przyszło mi do głowy, że sposób użycia div jest niedorzeczny. Dlaczego div nie jest dorozumiane? Wyobraź sobie, że to: <div class="hero-img"> <img src="http://whatever.com/this.jpg"> </div> było to: <hero-img> <img src="http://whatever.com/this.jpg"> </hero-img> Jeśli założono część elementu „klasa div”, HTML byłby bardziej semantyczny i nieskończenie …
13 html  html5 

3
Czy użycie tablicy skrótów w procesie odśmiecania rozwiązałoby problem zatrzymania światowego znaku i zamiatania?
W algorytmie zbierania śmieci mark-sweep-compact musisz zatrzymać świat podczas przenoszenia obiektów, ponieważ wykres odniesienia staje się niespójny i musisz zastąpić wartości wszystkich odniesień wskazujących na obiekt. Ale co, gdybyś miał tablicę skrótów z identyfikatorem obiektu jako kluczem i wskaźnikiem jako wartością, a referencje wskazywałyby na wspomniany identyfikator zamiast adresu obiektu …


2
Czy powinienem ujawniać „obliczoną” wartość jako właściwość lub metodę?
Mam klasę C #, która reprezentuje typ zawartości w systemie zarządzania treścią internetową. Mamy pole, które pozwala edytorowi treści WWW wprowadzić szablon HTML do wyświetlania obiektu. Zasadniczo używa składni kierownicy do podstawiania wartości właściwości obiektu w ciągu HTML: <h1>{{Title}}</h1><p>{{Message}}</p> Czy z perspektywy projektowania klas powinienem udostępniać sformatowany ciąg HTML (z …

5
Rodzaje testów jednostkowych opartych na użyteczności
Z wartościowego punktu widzenia w mojej praktyce widzę dwie grupy testów jednostkowych: Testy, które testują nietrywialną logikę. Napisanie ich (przed wdrożeniem lub po nim) ujawnia pewne problemy / potencjalne błędy i pomaga zachować pewność w przypadku zmiany logiki w przyszłości. Testy testujące bardzo trywialną logikę. Testy te bardziej przypominają kod …
13 unit-testing  tdd 

8
Projektanci UX pracujący o jeden Sprint do przodu
Nasi projektanci UX zwykle mają historię w Sprint X, którą programiści zaimplementują w Sprint X + 1 (Projektanci UX i deweloperzy / testerzy są w jednym zespole). Myślę, że ma to sens, ponieważ jeśli nie masz makiet ekranu i jasnych specyfikacji, nie możesz tak naprawdę oszacować pracy podczas planowania sprintu. …

5
Jak obejść problem z okólnikiem z JSON i Entity
Eksperymentowałem z tworzeniem strony internetowej, która wykorzystuje MVC z JSON dla mojej warstwy prezentacji i frameworku Entity dla modelu danych / bazy danych. Mój problem wchodzi w grę z serializowaniem obiektów Model do JSON. Korzystam z pierwszej metody kodu, aby utworzyć bazę danych. Podczas wykonywania pierwszej metody kodu relacja jeden …

2
pojedyncza tabela z dodatkowymi kolumnami vs wiele tabel, które duplikują schemat
Pracuję nad projektem, w którym w pewnym momencie musiałem podjąć decyzję, czy w bazie danych powinienem mieć jedną tabelę z wieloma kolumnami, z których nie korzysta każdy rekord, lub wiele tabel ze zduplikowanym schematem. Tworzę aplikację sportową, która może obsługiwać wiele dyscyplin sportowych. Poradzimy sobie na przykład z NBA, NHL, …

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.