Inżynieria oprogramowania

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

5
Jaka jest różnica między używaniem wstrzykiwania zależności w kontenerze a używaniem lokalizatora usług?
Rozumiem, że bezpośrednie tworzenie instancji zależności w klasie jest uważane za złą praktykę. Ma to sens, ponieważ tak ścisłe łączenie wszystkiego, co z kolei sprawia, że ​​testowanie jest bardzo trudne. Prawie wszystkie frameworki, które spotkałem, wydają się faworyzować wstrzykiwanie zależności za pomocą kontenera niż używanie lokalizatorów usług. Oba wydają się …

8
Różnica między wykonywaniem „równoległym” i „równoległym”?
Jaka jest różnica między warunkami współbieżnych i równoległego wykonywania? Nigdy nie byłem w stanie zrozumieć tego rozróżnienia. Tag definiuje współbieżność jako sposób uruchamiania dwóch procesów jednocześnie, ale myślałem, że równoległość jest dokładnie taka sama, tj. Osobne wątki lub procesy, które potencjalnie mogą być uruchomione na osobnych procesorach. Ponadto, jeśli weźmiemy …


10
Czy obecnie wzorce projektowe są naprawdę niezbędne?
Czytałem „Coders at Work” i stanąłem wobec faktu, że niektórzy profesjonaliści, z którymi przeprowadzono wywiady w książce, nie są tak entuzjastycznie nastawieni do wzorów. Myślę, że istnieją 2 główne powody: Wzory projektowe zmuszają nas do myślenia w ich kategoriach. Innymi słowy, prawie niemożliwe jest wynalezienie czegoś nowego (może lepszego). Wzory …

13
Jakiej „konwencji nazewnictwa wersji” używasz? [Zamknięte]
Czy różne konwencje nazewnictwa wersji są odpowiednie dla różnych projektów? Czego używasz i dlaczego? Osobiście wolę numer kompilacji w systemie szesnastkowym (np. 11BCF), należy go bardzo regularnie zwiększać. A następnie dla klientów prosty 3-cyfrowy numer wersji, tj. 1.1.3. 1.2.3 (11BCF) <- Build number, should correspond with a revision in source …

15
Kiedy należy zoptymalizować pod kątem pamięci i wydajności wydajność metody?
Niedawno przeprowadziłem wywiad w Amazon. Podczas sesji kodowania ankieter zapytał, dlaczego zadeklarowałem zmienną w metodzie. Wyjaśniłem mój proces, a on wezwał mnie do rozwiązania tego samego problemu przy mniejszej liczbie zmiennych. Na przykład (nie było to z wywiadu), zacząłem od metody A, a następnie ulepszyłem ją do metody B, usuwając …

9
Ile logiki biznesowej powinna wdrożyć baza danych?
Pracowałem w niektórych projektach, w których większość logiki biznesowej została zaimplementowana w bazie danych (głównie poprzez procedury składowane). Z drugiej strony słyszałem od innych programistów, że jest to zła praktyka („Bazy danych służą do przechowywania danych. Aplikacje służą do reszty”). Które z tych podejść jest ogólnie lepsze? Zalety wdrażania logiki …


13
Jak usprawiedliwić pisanie więcej kodu, stosując praktyki czystego kodu?
Notka moderatora Na to pytanie wysłano już siedemnaście odpowiedzi . Zanim opublikujesz nową odpowiedź, przeczytaj istniejące odpowiedzi i upewnij się, że Twój punkt widzenia nie jest odpowiednio uwzględniony. Postępuję zgodnie z niektórymi praktykami zalecanymi w książce Roberta Martina „Czysty kod”, szczególnie te, które dotyczą tego rodzaju oprogramowania, z którym pracuję, …

11
Od czego mój zespół powinien zacząć od „nowoczesności”? [Zamknięte]
Jestem stosunkowo nowym programistą, świeżo po studiach. Podczas studiów i późniejszych poszukiwań pracy zdałem sobie sprawę, że brakuje wielu „nowoczesnych” metodologii tworzenia oprogramowania, których brakuje w moim wykształceniu: testowanie jednostkowe, rejestrowanie, normalizacja baz danych, zwinne opracowywanie (w porównaniu z ogólnymi koncepcjami zwinnymi), styl kodowania przewodniki, refaktoryzacja, recenzje kodu, brak standardowych …
106 agile  teamwork 




22
Czy oferty pracy wyolbrzymiają ich wymagania? [Zamknięte]
Czuję się jak rozsądnie wykwalifikowany programista, ale wiele ofert pracy, na które napotykam, sprawia, że ​​czuję się inaczej. Prawie wszystkie z nich dzielą kwalifikacje na wymagania i wymagania, ale nawet część wymagań może być zniechęcająca. Widziałem wiele wpisów, które mówią, że wymagają kilku lat (2 lub więcej) doświadczenia w stosunkowo …
106 skills 

6
Dlaczego XML jest dokładnie nazywany „językiem”?
Zastanawiam się, dlaczego XML ma literę L w nazwie. Sam w sobie XML nic nie „robi”. To tylko format przechowywania danych, a nie język! Języki „robią” rzeczy. Sposób, w jaki XML „robi” rzeczy, aby zmienić je we właściwy język, polega na dodawaniu xmlnsatrybutów do elementu głównego. Dopiero wtedy informuje środowisko, …

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.