Inżynieria oprogramowania

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

10
Czy podzielenie potencjalnie monolitycznej aplikacji na kilka mniejszych pomaga zapobiegać błędom? [Zamknięte]
Innym sposobem zadawania tego pytania jest; dlaczego programy wydają się być monolityczne? Mam na myśli coś takiego jak pakiet animacji, taki jak Maya, który ludzie używają do różnych przepływów pracy. Gdyby możliwości animacji i modelowania zostały podzielone na osobne aplikacje i opracowane osobno, a pliki były przesyłane między nimi, czy …

6
Jaka byłaby wada definiowania klasy jako podklasy samej listy?
W moim ostatnim projekcie zdefiniowałem klasę z następującym nagłówkiem: public class Node extends ArrayList<Node> { ... } Jednak po rozmowie z moim profesorem CS stwierdził, że klasa będzie zarówno „okropna dla pamięci”, jak i „zła praktyka”. Nie uważam, że pierwsze jest szczególnie prawdziwe, a drugie subiektywne. Moje uzasadnienie tego użycia …

2
Czy biblioteki zawierające tylko nagłówki są bardziej wydajne?
Założenia Jedną z zalet bibliotek tylko nagłówkowych dla C ++ jest to, że nie trzeba ich oddzielnie kompilować. W C i C ++ inlinema sens tylko wtedy, gdy funkcja jest zdefiniowana w pliku nagłówkowym *. Tradycyjnie w C używany jest układ .c / .h, w którym nagłówek reprezentuje minimalny publiczny …
48 c++  c  libraries 


16
Czy w miarę możliwości wewnątrz pętli for należy przenieść warunek przerwania do pola warunku? [Zamknięte]
Czasami potrzebuję pętli, które wymagają takiej przerwy: for(int i=0;i<array.length;i++){ //some other code if(condition){ break; } } Czuję się nieswojo z pisania if(condition){ break; } ponieważ zużywa 3 linie kodu. Odkryłem, że pętlę można przepisać jako: ↓ for(int i=0;i<array.length && !condition;i++){ //some other code } Moje pytanie brzmi: czy dobrą praktyką …

8
Kiedy NIE należy używać wirtualnych niszczycieli?
Wierzyłem, że wielokrotnie szukałem wirtualnych destruktorów, większość wspomina o celu wirtualnych destruktorów i dlaczego potrzebujesz wirtualnych destruktorów. Myślę też, że w większości przypadków destruktory muszą być wirtualne. Zatem pytanie brzmi: dlaczego c ++ domyślnie nie ustawia wirtualnych wszystkich destruktorów? lub w innych pytaniach: Kiedy NIE muszę używać wirtualnych niszczycieli? W …

1
Co dokładnie oznacza warunek w licencji MIT?
Aby zacytować samą licencję: Copyright (C) [rok] [właściciele praw autorskich] Niniejszym udziela się bezpłatnie każdej osobie, która otrzymuje kopię tego oprogramowania i powiązanych plików dokumentacji („Oprogramowanie”), do czynienia z Oprogramowaniem bez ograniczeń, w tym między innymi prawa do używania, kopiowania, modyfikowania, łączenia , publikować, rozpowszechniać, udzielać podlicencji i / lub …

6
Jak bezpieczne są ukryte żądania AJAX, które udają działanie?
Co to jest ukryte żądanie AJAX? Zauważyłem wzrost użycia ukrytych żądań AJAX zaprojektowanych tak, aby akcja użytkownika wydawała się natychmiastowa. Ten typ żądania AJAX będę określać jako nieblokujący. Jest to żądanie AJAX złożone bez uświadomienia użytkownikowi, że się dzieje, jest wykonywane w tle, a jego działanie jest ciche ( nie …


3
Co jest takiego wyjątkowego w Node.js? [Zamknięte]
Niedawno pojawiło się wiele pochwał dla Node.js. Nie jestem programistą, który miał duży kontakt z aplikacjami sieciowymi. Z mojego własnego zrozumienia Nodes.js wynika, że ​​jego siła: mamy tylko jeden wątek obsługujący wiele połączeń, zapewniając architekturę opartą na zdarzeniach. Jednak na przykład w Javie mogę utworzyć tylko jeden wątek za pomocą …

8
Czy powinienem oczekiwać, że mój zespół będzie miał więcej niż podstawową biegłość w naszym systemie kontroli źródła?
Moja firma przeszła z Subversion na Git około trzy miesiące temu. Przed zmianą mieliśmy tygodnie wcześniej. Ponieważ nigdy wcześniej nie korzystałem z Gita (ani żadnego innego DVCS), czytałem Pro Git i spędziłem trochę czasu na tworzeniu własnych repozytoriów i zabawie, więc po zmianie mogłem pracować z minimalnym bólem. Teraz domyślnie …

14
Jak ważne są pozytywne opinie w recenzjach kodu?
Czy ważne jest wskazanie dobrych części kodu podczas przeglądu kodu i powodów, dla których jest on dobry? Pozytywne opinie mogą być równie przydatne dla recenzowanego programisty, jak i dla innych osób biorących udział w recenzji. Robimy recenzje za pomocą narzędzia online, więc programiści mogą otwierać recenzje pod kątem popełnionego przez …


8
LSP vs OCP / Liskov Substitution VS Open Close
Próbuję zrozumieć SOLIDNE zasady OOP i doszedłem do wniosku, że LSP i OCP mają pewne podobieństwa (jeśli nie powiedzieć więcej). zasada otwarta / zamknięta stwierdza: „jednostki oprogramowania (klasy, moduły, funkcje itp.) powinny być otwarte na rozszerzenie, ale zamknięte na modyfikację”. LSP w prostych słowach stwierdza, że ​​dowolną instancję Foomożna zastąpić …

9
Czy warto przeprowadzać testy jednostkowe lub rozwój oparty na testach?
Mój zespół w pracy przenosi się do Scrum, a inne zespoły zaczynają opracowywać testy oparte na testach jednostkowych i testach akceptacji użytkownika. Lubię UAT, ale nie sprzedaje się na testach jednostkowych do programowania testowego lub programowania testowego w ogóle. Wygląda na to, że pisanie testów jest dodatkową pracą, daje ludziom …

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.