Inżynieria oprogramowania

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


7
Jaki jest „właściwy” sposób implementacji DI w .NET?
Szukam implementacji wstrzykiwania zależności w stosunkowo dużej aplikacji, ale nie mam w tym doświadczenia. Studiowałem koncepcję i kilka implementacji IoC oraz dostępnych wtryskiwaczy zależności, takich jak Unity i Ninject. Jednak jedna rzecz mnie umyka. Jak powinienem zorganizować tworzenie instancji w mojej aplikacji? Myślę o tym, że mogę stworzyć kilka konkretnych …

4
Czy w GitHub można oprzeć gałąź operacji na innej gałęzi operacji?
Używamy GitHub Flow w naszym projekcie i przez większość czasu otwieramy nową gałąź funkcji od master , wykonujemy tam trochę pracy, otwieramy PR, przeglądamy kod i łączymy z powrotem w master . Jednak moja obecna praca zależy od innej kwestii, nad którą pracuję feature-branch-A. Czy koszerne jest tworzenie mojej gałęzi …
22 git  github  gitflow 

3
Czy celem kodu jest „idiomatyczność” w celu zmniejszenia narzutu poznawczego?
Próbuję wyjaśnić komuś, że sposób, w jaki napisał kod, sprawia, że ​​trudno go zrozumieć, a jeśli go zrestrukturyzujesz, łatwiej będzie go przeczytać. Ten styl kodu, który używam, jest powszechnie nazywany „kodem idiomatycznym”. Ale wyrażenie idiomatyczny kod niesie ze sobą bagaż moralnej poprawności , co nie jest świetną motywacją do nakłaniania …
22 idioms 

2
Czy dobrą praktyką jest przechowywanie numerów wersji oprogramowania w VCS?
Wersja produktu, na przykład v1.0.0.100, reprezentuje nie tylko unikalną wersję produkcyjną oprogramowania, ale pomaga zidentyfikować zestawy funkcji i etapy poprawek dla tego produktu. Obecnie widzę dwa sposoby utrzymania ostatecznej wersji pakietu / kompilacji / binarnej produktu: Kontrola wersji. Plik gdzieś przechowuje numer wersji. Serwer kompilacji Continuous Integration (CI) będzie miał …



5
Jak mogę zarządzać użytkownikami śmieci?
Stworzyłem system, który, mam nadzieję, będzie miał wielu użytkowników. Obawiamy się, że nasza baza danych zapełni użytkowników śmieci, którzy przyjmują nazwy użytkowników o wysokim zapotrzebowaniu, a może po prostu rejestrują się i nigdy nie wracają. Wiem, że jest to powszechne, robię to sam, ponieważ mam 3 konta Google, ale używam …

2
Czy własność funkcji jest dobrą praktyką?
Ostatnio w mojej firmie zasugerowano, że jeden programista powinien skupić się (i tylko jeden) na jednej funkcji. Oznaczałoby to coś takiego, jak odejście dewelopera od normalnej rutyny zespołu, zwolnienie go z innych obowiązków (spotkań itp.), A ta osoba byłaby „jedyna” odpowiedzialna za tę funkcję, pod względem technologicznym. Dla przypomnienia, używamy …


4
Dlaczego nie sprawić, by zapytania nie sparametryzowane zwróciły błąd?
Wstrzykiwanie SQL jest bardzo poważnym problemem bezpieczeństwa, w dużej mierze dlatego, że tak łatwo go pomylić: oczywisty, intuicyjny sposób budowania zapytania zawierającego dane wejściowe użytkownika naraża cię na niebezpieczeństwo, a właściwy sposób jego złagodzenia wymaga znajomości sparametryzowanej najpierw zapytania i wstrzyknięcie SQL. Wydaje mi się, że oczywistym sposobem na rozwiązanie …
22 security  sql  rdbms 

3
Klasa z elementami, które można modyfikować podczas tworzenia, ale potem są niezmienne
Mam algorytm, który tworzy kolekcję obiektów. Obiekty te można modyfikować podczas tworzenia, ponieważ zaczynają od bardzo małej liczby, ale następnie zapełniane są danymi w różnych miejscach algorytmu. Po zakończeniu algorytmu obiekty nie powinny być nigdy zmieniane - jednak są one zużywane przez inne części oprogramowania. Czy w tych scenariuszach dobrą …
22 c# 

4
Czy git „Złota reguła Rebasing” jest tak niezbędny?
Niedawno odbyłem dyskusję z ludźmi, którzy całkowicie sprzeciwiali się strategii bazowania gałęzi fabularnych na GIT. Wydaje się, że jest to przyjęty wzorzec korzystania z bazy tylko dla lokalnych, prywatnych oddziałów, ale nigdy nie używaj jej, gdy kilka osób pracuje nad tą samą funkcją i gałęzią, zgodnie z tak zwaną „Złotą …
22 git 


5
Czy utrzymanie agnostyki naprawdę się opłaca?
Mam projekt, nad którym obecnie pracuję, używając Tomcat, Spring 4, Spring Security, MySQL i JPA w / Hibernate. Wybrałem JPA z punktu widzenia, że ​​zamienianie podstawowej implementacji dostawców ORM jest płynne, a przynajmniej mniej bolesne. Powiedziałbym, że to mentalne użycie specyfikacji nad implementacją (JAX-RS) jest domyślnym punktem widzenia społeczności programistów …

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.