Inżynieria oprogramowania

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

1
Konwencja, gdzie zadeklarować moduł.exports w plikach JavaScript
Czy istnieje jakaś konwencja, w której powinniśmy zadeklarować module.exportspliki modułów bez Javascript / Node.js? Powinien być na początku pliku, na przykład: module.exports = Foo; function Foo() { this.bar = 'bar'; } Foo.prototype.getBar = function() { return this.bar; } A może powinien znajdować się na końcu pliku: function Foo() { this.bar …


4
Wzorzec powielania klas?
Obecnie pracuję jako programista solo nad moim obecnym projektem. Projekt odziedziczyłem od innego programisty, który odszedł z firmy. Jest to aplikacja internetowa w stylu kontrolera widoku modelu w języku C #. Używa Entity Framework do mapowania relacyjnego obiektu. Istnieją dwa różne zestawy klas dla typów w modelu domeny. Jeden zestaw …

5
Funkcje zwracające ciągi, dobry styl?
W moich programach C często potrzebuję sposobu, aby utworzyć ciąg reprezentujący moje ADT. Nawet jeśli nie muszę w żaden sposób drukować łańcucha na ekranie, fajnie jest mieć taką metodę debugowania. Tak więc często pojawia się tego rodzaju funkcja. char * mytype_to_string( const mytype_t *t ); W rzeczywistości zdaję sobie sprawę, …

2
Czy lepiej używać ciągów znaków lub int do odwoływania się do wyliczeń poza częścią java systemu?
W mojej pracy rozmawialiśmy o wykorzystaniu wyliczeń w Javie. Współpracownik twierdził, że używając wyliczeń po stronie serwera, ilekroć jest to wymagane, powinniśmy używać ciągu znaków, aby się do niego odwoływać (na przykład podczas wysyłania danych z JS do serwera lub podczas przechowywania w bazie danych), argumentując, że jest to o …

1
Przenieś semantykę w C ++ - Move-return zmiennych lokalnych
Rozumiem, że w C ++ 11, gdy zwracasz zmienną lokalną z funkcji według wartości, kompilator może traktować tę zmienną jako odwołanie do wartości r i „przenosić” ją z funkcji, aby ją zwrócić (jeśli Oczywiście RVO / NRVO się nie zdarza). Moje pytanie brzmi: czy to nie może złamać istniejącego kodu? …
11 c++  c++11 

1
Programowanie reaktywne a wzorzec MVVM do zarządzania aktualizacjami GUI
Programowanie reaktywne i MVVM to dwa podejścia, które mogą rozwiązać problem oddzielenia warstwy domeny od interfejsu użytkownika. MVVM robi to, definiując viewmodel, który jest strukturą danych odwzorowaną na komponenty interfejsu użytkownika. Interfejs użytkownika wyświetla dane i może je zaktualizować, gdy wystąpi użytkownik. reaktywna struktura definiuje wykres obserwowalnych, które powiadamiają interfejs …
11 gui  mvvm  ui  reactive 

3
Kim są 1. i 2. strona?
To czysta ciekawość. Już od dłuższego czasu słyszę termin „trzecia strona”, jak w „bibliotece trzeciej strony”. Zastanawiam się, dlaczego mówimy 3., a nie 2. (lub 4.)? Kim są pierwsze i drugie strony i skąd się wziął ten termin?


8
Jakie są dobre sposoby równoważenia wyjątków informacyjnych i czystego kodu?
Dzięki naszemu publicznemu pakietowi SDK chcemy przekazywać bardzo pouczające informacje o przyczynach wyjątku. Na przykład: if (interfaceInstance == null) { string errMsg = string.Format( "Construction of Action Argument: {0}, via the empty constructor worked, but type: {1} could not be cast to type {2}.", ParameterInfo.Name, ParameterInfo.ParameterType, typeof(IParameter) ); throw new …


5
Najlepszy wzorzec projektowy OOP dla sekwencji operacji
Pracuję nad aplikacją, której moduł wykonuje kolejno następujące operacje finansowe: Gdy użytkownik poprosi o przelanie określonej kwoty na swoje konto bankowe: sprawdzić, czy jakaś transakcja może się teraz zdarzyć? (transakcja może być przeprowadzona tylko przez określony czas) sprawdź, czy użytkownik zażądał wypłaty minimalnej kwoty sprawdź, czy użytkownik ma jakieś domyślne …

3
Korzystanie z testowania gałęzi w Git
Mamy kogoś (nazwijmy go Ted), który jest odpowiedzialny za testowanie nowych funkcji i poprawek błędów. Używamy Git i GitHub . masterpowinno być / jest zawsze możliwe do wdrożenia i developmenttam, gdzie zatwierdzamy / łączymy nowe funkcje lub poprawki błędów, ale dopiero po ich przetestowaniu przez Ted. Projekt jest w języku …



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.