Inżynieria oprogramowania

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

4
C ++ Preferowana metoda radzenia sobie z implementacją dużych szablonów
Zazwyczaj deklarując klasę C ++, najlepszą praktyką jest umieszczanie tylko deklaracji w pliku nagłówkowym i implementacji w pliku źródłowym. Wydaje się jednak, że ten model projektowy nie działa w przypadku klas szablonów. Podczas wyszukiwania online wydaje się, że są 2 opinie na temat najlepszego sposobu zarządzania klasami szablonów: 1. Cała …

2
Czy funkcjonalne języki programowania zapobiegają skutkom ubocznym?
Według Wikipedii funkcjonalne języki programowania , które są deklaratywne, nie pozwalają na skutki uboczne. Programowanie deklaratywne w ogólności, próbuje zminimalizować lub wyeliminować skutki uboczne. Ponadto, zgodnie z Wikipedią, efekt uboczny jest związany ze zmianami stanu. Tak więc funkcjonalne języki programowania w tym sensie faktycznie eliminują skutki uboczne, ponieważ nie zapisują …

1
Kompilacja In-Source vs. Out-Of-Source
W moim rozwoju (głównie C ++) od dawna stosuję kompilacje spoza źródeł. Oznacza to, że moje źródło zazwyczaj siedzi w /project/srckatalogu i buduje żyć w /project/build/bin/release, /project/build/bin/debugkatalogi. Zrobiłem to, ponieważ utrzymuje moje katalogi źródłowe w czystości od plików pośrednich, mam jedną lokalizację dla wszystkich moich plików binarnych, pakowanie jest łatwiejsze, …



5
Czy pogwałcenie zasady otwartego i zamkniętego aktualizowania stałej reprezentującej rzeczywistą wartość?
Mam klasę obliczającą roczny dochód netto pracowników. Ma stałą reprezentującą procent podatku. Ale pewnego dnia stawka podatku się zmieniła, więc muszę naprawić kod. Czy czynność ustalenia tej stałej wskazuje na naruszenie zasady otwartego-zamkniętego , ponieważ postuluje, że klasa powinna być zamknięta na modyfikacje?

3
Jak zaprojektować program C ++ umożliwiający import funkcji w czasie wykonywania?
dzisiaj chciałbym zadać ci pytanie dotyczące możliwości C ++ do realizacji określonej architektury oprogramowania. Oczywiście skorzystałem z wyszukiwania, ale nie znalazłem żadnej bezpośrednio powiązanej odpowiedzi. Zasadniczo moim celem jest zbudowanie programu, który pozwala użytkownikowi modelować i symulować dowolnie złożone układy fizyczne, np. Samochód. Zakładam, że mam bibliotekę modeli fizycznych (funkcje …

2
Co tak naprawdę różni się między SOA a Microservices
Zrzeczenie się Mam nadzieję, że nie nadepnę na nóg ani nie obrażę entuzjastów obu koncepcji tło Szukałem prawdziwych różnic między architekturą zorientowaną na usługi a mikrousługami, nie znajdując żadnej jasnej odpowiedzi. Czytam takie rzeczy jak: skutki uboczne SOA SOA jest anty-wzorzec Przyszły mikrousługi, aby naprawić awarie SOA ESB nie są …

6
Jaki kod powinien być zawarty w klasie abstrakcyjnej?
Ostatnio niepokoją mnie zastosowania klas abstrakcyjnych. Czasami klasa abstrakcyjna jest wcześniej tworzona i działa jako szablon tego, jak działają klasy pochodne. Oznacza to mniej więcej, że zapewniają one pewną funkcjonalność na wysokim poziomie, ale pomijają pewne szczegóły do ​​zaimplementowania przez klasy pochodne. Klasa abstrakcyjna określa potrzebę tych szczegółów, wprowadzając pewne …



3
Dlaczego kompilatory zazwyczaj generują pliki wykonywalne tylko dla platformy, na której są zainstalowane?
Jestem programistą C ++ i starając się lepiej zrozumieć rozwój międzyplatformowy, staram się lepiej zrozumieć niektóre szczegóły implementacyjne kompilatorów i jak dokładnie tworzą one pliki binarne specyficzne dla systemu operacyjnego. W trakcie moich badań zdałem sobie sprawę, że przynajmniej przez jakiś czas większość kompilatorów pobranych na określoną platformę kompilowała tylko …

1
Testy integracji w projektach OSS - jak obsługiwać uwierzytelnianie stron trzecich?
Jednym z moich hobby (open source) jest narzędzie do tworzenia kopii zapasowych, które tworzy kopie zapasowe w trybie offline repozytoriów z GitHub, Bitbucket itp. Wywołuje API hostów, aby uzyskać listę repozytoriów, a następnie używa Git / Mercurial / cokolwiek do klonowania / przeciągnij repozytoria na komputer lokalny. Mam więc testy …

2
Czy interfejs tylko pobierający ma zapach kodu?
(Widziałem to pytanie , ale pierwsza odpowiedź dotyczy bardziej właściwości automatycznych niż projektowania, a druga mówi, że ukryj kod przechowywania danych przed konsumentem , czego nie jestem pewien, czy tego chcę / mój kod robi, więc chciałbym usłyszeć inną opinię) Mam dwóch bardzo podobnych podmiotów, HolidayDiscountoraz RentalDiscount, że stanowią rabaty …


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.