Inżynieria oprogramowania

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


11
Co Robert C. Martin ma na myśli mówiąc, że SQL jest niepotrzebny? [Zamknięte]
Czytałem / oglądałem dużo treści Roberta C. Martina. Natknąłem się na niego, mówiąc, że SQL jest niepotrzebny z powodu dysków półprzewodnikowych. Kiedy szukam innych źródeł, aby to zrobić, otrzymuję losowe artykuły opisujące różnicę wydajności SQL między dyskami twardymi a dyskami półprzewodnikowymi (co jest powiązane, ale nie to, co próbuję zbadać). …

13
Jak mogę edytować łańcuch instrukcji if-else, jeśli są zgodne z zasadami Clean Code firmy Uncle Bob?
Staram się stosować do czystego kodu wuja Boba, a konkretnie, aby metody były krótkie. Nie mogę jednak skrócić tej logiki: if (checkCondition()) {addAlert(1);} else if (checkCondition2()) {addAlert(2);} else if (checkCondition3()) {addAlert(3);} else if (checkCondition4()) {addAlert(4);} Nie mogę usunąć pozostałych i tym samym podzielić całej rzeczy na mniejsze części, ponieważ „else” …



8
Czy w ciągu ostatnich 20 lat tak naprawdę nie było nic, co zapewniłoby ogromne korzyści z rozwoju oprogramowania? [Zamknięte]
W „ No Silver Bullet” Fred Brooks przedstawia różne prognozy dotyczące przyszłości inżynierii oprogramowania, najlepiej podsumowane przez: Nie ma jednego rozwoju, ani w technologii, ani w technice zarządzania, który sam w sobie obiecuje poprawę wydajności, niezawodności i prostoty nawet o jeden rząd wielkości . Jego argument jest bardzo przekonujący. Brooks …

13
Zaszyfrowana treść w grach
Wpadłem na pomysł użycia szyfrowania, aby uniemożliwić użytkownikom rozpoznawanie treści w moim programie poza samym programem. Podobnie jak użytkownicy mogą znaleźć tekstury nigdy nie używane w grze, które mają być częścią pewnego rodzaju pisanki podczas przeglądania danych gry. Może to np. Zrujnować go wszystkim, jeśli zostanie opublikowany online. Wyobraź sobie …
45 encryption 

3
Styl kodowania dla niedowidzących programistów [zamknięte]
Jestem niedowidzący. W okularach widzę wystarczająco dobrze, aby prowadzić, ale przy rozmiarze czcionki czuję się komfortowo, widzę tylko około 15 linii po 100 znaków na raz. Wpłynęło to na mój styl kodowania. Jedną rzeczą, którą robię, jest pisanie krótszych funkcji. Mój kod ma tendencję do uzyskiwania dobrych recenzji, ponieważ te …

6
Jak konieczne jest stosowanie defensywnych praktyk programistycznych dla kodu, który nigdy nie będzie publicznie dostępny?
Piszę implementację Java gry karcianej, więc stworzyłem specjalny typ kolekcji, którą nazywam Strefą. Wszystkie metody modyfikacji kolekcji Java są nieobsługiwane, ale w API strefy istnieje metoda move(Zone, Card), która przenosi kartę z danej strefy do siebie (osiągane przy pomocy technik pakietowych). W ten sposób mogę zapewnić, że żadne karty nie …

5
Wzorzec konstruktora: kiedy zawieść?
Wdrażając Wzorzec Konstruktora, często mylę się, kiedy pozwolić, aby budowanie się nie powiodło, a nawet co kilka dni potrafię zająć różne stanowisko w tej sprawie. Najpierw jakieś wyjaśnienie: Z wczesnym niepowodzeniem mam na myśli, że budowanie obiektu powinno zakończyć się niepowodzeniem, gdy tylko zostanie przekazany nieprawidłowy parametr. Więc wewnątrz SomeObjectBuilder. …

2
Jakiej implementacji Common Lisp użyć? [Zamknięte]
Wydaje się, że istnieje natychmiastowy problem z rozpoczęciem opracowywania w Common Lisp: wybór implementacji. Co należy wziąć pod uwagę i jak dużą wagę należy wziąć pod uwagę przy wdrażaniu CL? Czy powinien być zgodny ze standardem ANSI? Czy powinien być obsługiwany przez SLIME? Czy w niektórych implementacjach brakuje dobrych bibliotek, …

4
Dlaczego tak wiele przestrzeni nazw zaczyna się od com
Zauważyłem, że wiele firm używa przestrzeni nazw „odwrotna nazwa domeny” i jestem ciekawy, skąd ta praktyka się wzięła i dlaczego trwa. Czy kontynuuje to tylko z powodu praktyki głosowania, czy też istnieje wyjątkowa koncepcja architektury, której mógłbym tu brakować? Zwróć także uwagę na pytania, takie jak: https://stackoverflow.com/questions/189209/do-you-really-use-your-reverse-domain-for-package-naming-in-java, które odpowiadają na …

9
Jaka jest różnica między „Syntax” a „Syntactic Sugar”
tło Strona Wikipedii na temat cukru syntaktycznego zawiera : W informatyce cukier syntaktyczny jest składnią w języku programowania, który ma na celu ułatwienie czytania lub wyrażania. Dzięki temu język jest „słodszy” dla ludzi: rzeczy można wyrazić jaśniej, bardziej zwięźle lub w alternatywnym stylu, który niektórzy mogą preferować. Naprawdę nie rozumiem, …

8
Co powinno być dozwolone w modułach pobierających i ustawiających?
Wciągnąłem interesujący internetowy spór o metody pobierające i ustawiające oraz enkapsulację. Ktoś powiedział, że wszystko, co powinni zrobić, to przypisanie (ustawiające) lub dostęp zmienny (pobierające), aby utrzymać je w czystości i zapewnić enkapsulację. Czy mam rację, że całkowicie zniweczyłoby to cel posiadania getterów i seterów, a walidacja i inna logika …

11
Czy jako architekt oprogramowania mam się tak bardzo koncentrować na analizie dzienników i naprawianiu błędów innych?
Od ukończenia studiów (pod koniec 2005 r.) Pracowałem dla tej samej firmy, co inżynier oprogramowania c ++. Rok temu awansowałem jako architekt oprogramowania, ale coraz bardziej angażuję się w kwalifikacje i naprawianie błędów, wsparcie na poziomie 2. 50% mojego czasu spędziłem w Notepad ++ analizując logi oprogramowania i próbując dowiedzieć …

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.