Inżynieria oprogramowania

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

2
Ile kosztuje za duże wstrzyknięcie zależności?
Pracuję w projekcie wykorzystującym (Spring) Dependency Injection do dosłownie wszystkiego, co jest zależnością klasy. Jesteśmy w punkcie, w którym plik konfiguracyjny Spring urósł do około 4000 linii. Niedawno obejrzałem jedną z przemówień wuja Boba na YouTube (niestety nie mogłem znaleźć linku), w których zaleca wstrzyknięcie tylko kilku głównych zależności (np. …

3
Czy marnowanie nowej tabeli bazy danych jest niepotrzebne zamiast używania typu danych enum?
Załóżmy, że mam 4 rodzaje usług, które oferuję (raczej nie zmieniają się często): Testowanie Projekt Programowanie Inny Załóżmy, że mam 60-80 faktycznych usług, z których każda należy do jednej z powyższych kategorii. Na przykład „usługa” może być „Programem testowym z wykorzystaniem techniki A” i jest typu „Testowanie”. Chcę zakodować je …

6
Czy długie kompilacje należą już do przeszłości?
Istnieją niezliczone historie wojenne o tym, jak długo może potrwać kompilacja. Nawet xkcd wspomniał o tym. Od dłuższego czasu nie programuję i przede wszystkim jestem narażony na Javę i Pythona (a Python jest językiem interpretowanym, a nie skompilowanym). Zdaję sobie sprawę, że to możliwe, że po prostu nie spotkałem się …

4
Najbardziej przyjazny dla człowieka sposób zamawiania definicji metod klasowych?
W dowolnej definicji klasy widziałem definicje metod uporządkowane na różne sposoby: alfabetyczne, chronologiczne oparte na najczęstszym użyciu, alfabetycznie pogrupowane według widoczności, alfabetyczne z pogrupowanymi i ustawiającymi pogrupowanymi itd. Kiedy zaczynam pisać nową klasę, Zwykle wpisuję wszystko, a potem zmieniam kolejność, kiedy skończę pisać całą klasę. W tej sprawie mam trzy …

5
Jakie jest słowo na operację, którą można zastosować wiele razy i nigdy nie zmieniać stanu poza początkową aplikację?
Próbuję zapamiętać słowo, myślę, że jest związane z teorią obliczeń lub baz danych. Najbliższy synonim to atomicjednak nie to. Zasadniczo jest to rodzaj obliczeń, które powinny dawać taki sam wynik, nawet jeśli są uruchamiane wiele razy z rzędu, co oznacza, że ​​nie wywołuje skutków ubocznych dla siebie. W szczególności natknąłem …


7
Czy sensowna jest standaryzacja uwzględniająca datę utworzenia i datę ostatniej aktualizacji we wszystkich tabelach DB?
Mój szef obecnie próbuje zastosować pewne standardy programistyczne w naszym zespole, więc wczoraj spotkaliśmy się, by omówić standardy, które były w większości dobre, dopóki nie poruszyła: Wszystkie tabele DB będą miały kolumnę CreatedDate i LastUpdatedDate, zaktualizowaną przez wyzwalacze. W tym momencie nasz zespół doznał schizmy opinii; połowa z nas uważa, …


4
Używasz asercji zamiast rzucać wyjątkami?
Często, gdy piszę funkcje, chcę się upewnić, że dane wejściowe są prawidłowe, aby wykryć takie błędy jak najwcześniej (uważam, że są to tak zwane warunki wstępne). Kiedy warunek wstępny zawiedzie, zawsze rzucałem wyjątek. Ale zaczynam wątpić, czy jest to najlepsza praktyka, a jeśli nie, twierdzenia byłyby bardziej odpowiednie. Więc kiedy …


7
Jaki jest preferowany sposób przechowywania konfiguracji aplikacji?
W większości przypadków przechowuję konfigurację aplikacji programistycznych w katalogu głównym projektu, w następujący sposób: app |-- config.json Ale to nie wydaje się być najlepszym podejściem, ponieważ ta konfiguracja ostatecznie jest przechowywana w systemie kontroli wersji - prawdopodobnie skutkując wyciekiem nazw użytkowników, haseł i innych wrażliwych rzeczy. 12 Przewodnik po aplikacji …

2
Jak sprawić, aby obietnica JavaScript zwróciła coś innego niż obietnica?
Mam specyfikację od klienta dotyczącą implementacji metody w module: // getGenres(): // Returns a promise. When it resolves, it returns an array. Jeśli podano szereg gatunków, ['comedy', 'drama', 'action'] Oto szkieletowa metoda z obietnicą: MovieLibrary.getGenres = function() { var promise = new Promise(function(resolve, reject) { /* missing implementation */ }); …
38 javascript 


7
Czy powinienem mieć testy jednostkowe na znane wady?
Jeśli mój kod zawiera znaną wadę, która powinna zostać naprawiona, ale nie została jeszcze rozwiązana i nie zostanie naprawiona w bieżącej wersji i może nie zostać naprawiona w dającej się przewidzieć przyszłości, czy powinien zostać przeprowadzony nieudany test jednostkowy tego błędu w zestaw testowy? Jeśli dodam test jednostkowy, (oczywiście) się …
37 unit-testing  tdd 


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.