Inżynieria oprogramowania

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

5
Czy w programowaniu funkcjonalnym większość niezmiennych struktur danych wymaga większego wykorzystania pamięci?
W programowaniu funkcjonalnym, ponieważ prawie cała struktura danych jest niezmienna, kiedy stan musi się zmienić, tworzona jest nowa struktura. Czy to oznacza dużo większe zużycie pamięci? Znam dobrze paradygmat programowania obiektowego, teraz próbuję dowiedzieć się o paradygmacie programowania funkcjonalnego. Pomysł, że wszystko jest niezmienne, myli mnie. Wydawałoby się, że program …


9
Czy codzienne wprowadzanie / sprawdzanie kodu jest dobrą praktyką?
Czytałem notatkę Martina Fowlera na temat ciągłej integracji, a on wymienia jako „Wszyscy zobowiązują się do głównej linii każdego dnia”. Nie lubię zatwierdzać kodu, chyba że sekcja, nad którą pracuję, jest kompletna i że w praktyce zatwierdzam swój kod co trzy dni: jeden dzień w celu zbadania / odtworzenia zadania …

22
Dlaczego niektórzy programiści uważają, że istnieje kontrast między teorią a praktyką? [Zamknięte]
Porównując inżynierię oprogramowania z inżynierią lądową, byłem zaskoczony, widząc inny sposób myślenia: każdy inżynier budownictwa wie, że jeśli chcesz zbudować małą chatkę w ogrodzie, możesz po prostu zdobyć materiały i przejść do budowy, a jeśli chcesz zbudować dom 10-kondygnacyjny (lub, na przykład, coś jak ten ) trzeba zrobić sporo matematyki, …

10
Czy istnieje zbyt wiele prywatnych funkcji / metod?
Rozumiem znaczenie dobrze udokumentowanego kodu. Ale rozumiem również znaczenie samodokumentowania kodu. Im łatwiej jest wizualnie odczytać określoną funkcję, tym szybciej możemy przejść podczas konserwacji oprogramowania. Powiedziawszy to, lubię rozdzielać duże funkcje na inne mniejsze. Ale robię to do tego stopnia, że ​​klasa może mieć w górę pięć z nich tylko …


4
Co to jest pula wątków?
Jak wdrożyć pulę wątków? Czytałem na Wikipedii „pula wątków”, ale nadal nie mogę się dowiedzieć, co należy zrobić, aby rozwiązać to pytanie (być może dlatego, że nie do końca rozumiem, co to jest pula wątków). Czy ktoś może mi wyjaśnić prostym językiem angielskim, czym jest pula wątków i jak można …

7
Czy wystarczy zastosować testy akceptacyjne i integracyjne zamiast testu jednostkowego?
Krótkie wprowadzenie do tego pytania. Używam teraz TDD, a ostatnio BDD od ponad roku. Używam technik takich jak kpina, aby bardziej efektywnie pisać testy. Ostatnio rozpocząłem osobisty projekt, aby napisać dla siebie mały program do zarządzania pieniędzmi. Ponieważ nie miałem wcześniejszego kodu, był to idealny projekt na początek z TDD. …


16
Jak poradzić sobie z dzieleniem przez zero w języku, który nie obsługuje wyjątków?
Jestem w trakcie opracowywania nowego języka programowania, aby rozwiązać niektóre wymagania biznesowe, a ten język jest skierowany do początkujących użytkowników. Dlatego nie ma obsługi obsługi wyjątków w tym języku i nie spodziewałbym się, że będą go używać, nawet jeśli go dodam. Doszedłem do punktu, w którym muszę wdrożyć operator dzielenia …

7
Jak radzić sobie ze statycznymi klasami użyteczności przy projektowaniu pod kątem testowalności
Staramy się zaprojektować nasz system w taki sposób, aby był testowalny i w większości został opracowany przy użyciu TDD. Obecnie próbujemy rozwiązać następujący problem: W różnych miejscach konieczne jest stosowanie metod statycznego pomocnika, takich jak ImageIO i URLEncoder (oba standardowe API Java) oraz różnych innych bibliotek, które składają się głównie …

15
Czy jest jakiś powód, aby nie przechodzić bezpośrednio z kodu JavaScript po stronie klienta do bazy danych?
Możliwa duplikat: pisanie internetowych aplikacji „bez serwera” Powiedzmy, że zbuduję klon Stack Exchange i zdecyduję się użyć czegoś takiego jak CouchDB jako mojego sklepu z zapleczem. Jeśli korzystam z wbudowanego uwierzytelniania i autoryzacji na poziomie bazy danych, to czy jest jakiś powód, aby nie pozwalać skryptowi JavaScript po stronie klienta …

3
Dlaczego musimy umieszczać prywatnych członków w nagłówkach?
Zmienne prywatne są sposobem na ukrycie złożoności i szczegółów implementacji dla użytkownika klasy. Jest to dość fajna funkcja. Ale nie rozumiem, dlaczego w c ++ musimy umieścić je w nagłówku klasy. Widzę dwie irytujące wady tego: Zaśmieca nagłówek użytkownika Wymusza ponowną kompilację wszystkich bibliotek klienckich przy każdej modyfikacji elementów wewnętrznych …
62 c++  headers 

6
Czy łączenie obiektów jest przestarzałą techniką?
Bardzo dobrze znam koncepcję łączenia obiektów i zawsze staram się z niej korzystać w jak największym stopniu. Dodatkowo zawsze myślałem, że pula obiektów jest standardową normą, ponieważ zauważyłem, że sama Java, a także inne frameworki używają pula w jak największym stopniu. Ostatnio jednak przeczytałem coś, co było dla mnie zupełnie …

4
jaki jest cel strzałek?
Uczę się programowania funkcjonalnego w Haskell i staram się chwytać koncepcje, najpierw rozumiejąc, dlaczego ich potrzebuję. Chciałbym poznać cel strzał w funkcjonalnych językach programowania. Jaki problem rozwiązują? Sprawdziłem http://en.wikibooks.org/wiki/Haskell/Understanding_arrows i http://www.cse.chalmers.se/~rjmh/afp-arrows.pdf . Rozumiem tylko, że są one używane do opisywania wykresów do obliczeń i że umożliwiają łatwiejsze kodowanie w stylu …

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.