Inżynieria oprogramowania

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

4
Czy naprawdę powinienem używać wszystkich wielkich liter dla moich stałych?
Jestem programistą Python, który przede wszystkim korzysta z pylint do kodowania kodu źródłowego. Jestem w stanie wyeliminować wszystkie ostrzeżenia oprócz jednego: Niepoprawna nazwa stałej. Zmienia nazwę na wszystkie wielkie litery to naprawia, ale czy naprawdę powinienem to zrobić? Jeśli to zrobię, okaże się, że mój kod wygląda brzydko, ponieważ większość …



4
Co to jest strumień bajtów?
Czy ktoś może mi wyjaśnić, co faktycznie zawiera strumień bajtów? Czy zawiera tylko bajty (dane szesnastkowe), dane binarne lub tylko angielskie litery? Jestem również zdezorientowany terminem „surowe dane”. Jeśli ktoś poprosił mnie o „odwrócenie danych 4-bajtowych”, to co powinienem założyć, że jest to kod szesnastkowy lub kod binarny?

3
Czy są jakieś problemy z implementacją niestandardowych metod HTTP?
Mamy adres URL w następującym formacie / instance / {instanceType} / {instanceId} Możesz to nazwać standardowymi metodami HTTP: POST, GET, DELETE, PUT. Jest jednak kilka innych działań, które podejmujemy, takich jak „Zapisz jako wersję roboczą” lub „Wybawiciel” Pomyśleliśmy, że możemy po prostu użyć niestandardowych metod HTTP, takich jak: DRAFT, VALIDATE, …
34 rest  http 

12
Czy to zapach kodu do przechowywania ogólnych obiektów w kontenerze, a następnie pobierania obiektów i spuszczania obiektów z kontenera?
Na przykład mam grę, która ma narzędzia do zwiększenia zdolności gracza: Tool.h class Tool{ public: std::string name; }; I niektóre narzędzia: Sword.h class Sword : public Tool{ public: Sword(){ this->name="Sword"; } int attack; }; Shield.h class Shield : public Tool{ public: Shield(){ this->name="Shield"; } int defense; }; MagicCloth.h class MagicCloth …

2
najlepsze praktyki w zakresie projektowania baz danych NoSQL
Właśnie zacząłem używać bazy danych opartej na dokumentach NoSQL (MongoDB) i jestem ciekawy najlepszych praktyk w zakresie projektowania baz danych. Zakładam, że architektura powinna różnić się od relacyjnych baz danych? Czy nadal powinienem dążyć do znormalizowanej bazy danych? Na przykład mam konkretny przypadek użycia; Mam użytkownika z historią wynajmu (tablica …
34 design  nosql 

3
Czy adres C ++ 11 dotyczy przekazywania obiektów std lib między granicami biblioteki dynamicznej / współdzielonej? (tj. dll i tak dalej)?
Jedną z moich głównych skarg na C ++ jest to, jak trudno w praktyce przekraczać obiekty biblioteki standardowej poza granicami biblioteki dynamicznej (tj. Dll / so). Biblioteka std jest często tylko nagłówkiem. Co jest świetne do robienia niesamowitych optymalizacji. Jednak w przypadku bibliotek DLL często są one budowane z różnymi …
34 c++  libraries  c++11 

4
Czy Little Endian wygrał?
Ucząc ostatnio o bitwie Big vs. Little Endian, uczeń zapytał, czy została rozstrzygnięta, i zdałem sobie sprawę, że nie wiem. Patrząc na artykuł z Wikipedii , wydaje się, że najpopularniejsze obecnie pary OS / architektura używają Little Endian, ale protokół internetowy określa Big Endian do przesyłania wartości liczbowych w nagłówkach …

3
Dlaczego musimy umieścić N przed ciągami w Microsoft SQL Server?
Uczę się T-SQL. Z przykładów, które widziałem, aby wstawić tekst do varchar()komórki, mogę napisać tylko ciąg do wstawienia, ale w przypadku nvarchar()komórek każdy przykład poprzedza ciąg literą N. Próbowałem następujące zapytanie w tabeli, która ma nvarchar()wiersze, i działa dobrze, więc przedrostek N nie jest wymagany: insert into [TableName] values ('Hello', …


8
Jak ustalić, czy klasa spełnia zasadę jednej odpowiedzialności?
Zasada jednolitej odpowiedzialności oparta jest na zasadzie wysokiej spójności. Różnica między nimi polega na tym, że bardzo spójne klasy zawierają zestaw ściśle powiązanych ze sobą obowiązków, podczas gdy klasy przestrzegające SRP mają tylko jedną odpowiedzialność. Ale w jaki sposób ustalamy, czy dana klasa ma zestaw obowiązków i dlatego jest po …

21
Dlaczego duże projekty IT zwykle kończą się niepowodzeniem lub mają duże przekroczenia kosztów / harmonogramu? [Zamknięte]
Zawsze czytam o dużych projektach transformacji lub integracji, które są totalną lub prawie całkowitą katastrofą. Nawet jeśli uda im się jakoś odnieść sukces, koszty i harmonogram wypalenia są ogromne. Jaki jest prawdziwy powód, dla którego duże projekty są bardziej podatne na niepowodzenia. Można stosować zwinne w tego typu projektach lub …

5
Czy miksy Pythona są anty-wzorcem?
W pełni zdaję sobie sprawę, że pylinti inne narzędzia analizy statycznej nie są wszechwiedzące, a czasem ich radom należy się nie posłuchać. (Dotyczy to różnych klas wiadomości, nie tylko conventions.) Jeśli mam zajęcia takie jak class related_methods(): def a_method(self): self.stack.function(self.my_var) class more_methods(): def b_method(self): self.otherfunc() class implement_methods(related_methods, more_methods): def __init__(self): …


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.