Inżynieria oprogramowania

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

9
Czy pisząc kod zorientowany obiektowo, powinienem zawsze kierować się wzorcem projektowym?
Czy istnieje jakiś wzorzec projektowy dla dowolnego programu obiektowego? Pytam o to, ponieważ ostatnio widziałem implementację Doorklasy z Lock. Było to częścią testu, a odpowiedź brzmiała, że ​​kod jest zgodny ze wzorcem Null Object: class Lock { public: virtual void close() = 0; virtual void open() = 0; virtual bool …


6
Dlaczego wnioskowanie typu jest przydatne?
Czytam kod znacznie częściej niż piszę kod i zakładam, że większość programistów pracujących nad oprogramowaniem przemysłowym to robi. Zakładam, że zaletą wnioskowania typu jest mniejsza szczegółowość i mniej napisany kod. Ale z drugiej strony, jeśli czytasz kod częściej, prawdopodobnie będziesz chciał kodu czytelnego. Kompilator określa typ; istnieją na to stare …

6
Dlaczego testowanie języka nie jest obsługiwaną funkcją na poziomie składni?
Możesz znaleźć nieskończoną listę blogów, artykułów i stron internetowych promujących zalety jednostkowego testowania kodu źródłowego. Jest prawie pewne, że programiści, którzy zaprogramowali kompilatory dla Java, C ++, C # i innych języków pisanych, używali testów jednostkowych do weryfikacji swojej pracy. Dlaczego więc pomimo popularności testowanie jest nieobecne w składni tych …

4
Dlaczego wolisz niestatyczne klasy wewnętrzne niż statyczne?
To pytanie dotyczy tego, czy uczynić zagnieżdżoną klasę w Javie klasą zagnieżdżoną statycznie czy wewnętrznie zagnieżdżoną. Szukałem tutaj i nad przepełnieniem stosu, ale tak naprawdę nie mogłem znaleźć żadnych pytań dotyczących konsekwencji projektowych tej decyzji. Znalezione przeze mnie pytania dotyczą różnicy między statycznymi i wewnętrznymi klasami zagnieżdżonymi, co jest dla …


11
Upewnij się, że każda klasa ma tylko jedną odpowiedzialność, dlaczego?
Zgodnie z dokumentacją Microsoft, artykułem Wikipedia SOLID lub większością architektów IT musimy upewnić się, że każda klasa ma tylko jedną odpowiedzialność. Chciałbym wiedzieć, dlaczego, ponieważ jeśli wszyscy wydają się zgadzać z tą zasadą, nikt nie wydaje się zgadzać co do przyczyn tej reguły. Niektórzy wskazują na lepszą konserwację, inni twierdzą, …

4
Dlaczego ktoś miałby inwestować czas w Microsoft „Roslyn”?
Właśnie czytałem niektóre białe księgi i przykłady z Microsoft „Roslyn” i koncepcja wydaje się bardzo interesująca. Z tego, co mogę powiedzieć, otwiera czarną skrzynkę, która jest kompilatorem i zapewnia interfejs, którego możemy użyć do uzyskania informacji i metryk dotyczących kodu napisanego w Visual Studio. Wydaje się, że Roslyn ma także …

5
Jak łatwo włamać się do JavaScript (w przeglądarce)?
Moje pytanie dotyczy bezpieczeństwa JavaScript. Wyobraź sobie system uwierzytelniania, w którym używasz środowiska JavaScript, takiego jak Backbone lub AngularJS , i potrzebujesz bezpiecznych punktów końcowych. To nie jest problem, ponieważ serwer zawsze ma ostatnie słowo i sprawdzi, czy masz uprawnienia do robienia tego, co chcesz. Ale co, jeśli potrzebujesz trochę …

5
Co zrobić, gdy masz do czynienia z zadaniem programowania, którego nigdy nie wykonałeś?
Swoją karierę jako programista .NET rozpocząłem 3 miesiące temu i po długim planie szkoleniowym na temat różnych technologii, wzorców i koncepcji programiści, którzy mnie nadzorowali, zdecydowali, że jestem gotów dołączyć do jednego z wielu projektów obsługiwanych przez firmę. Jestem bardzo podekscytowany, że w końcu mogę zacząć kodować. Zespół, do którego …



3
Różnica między REPL a interaktywną powłoką
Pytanie Nooba. Nie jestem w stanie odróżnić REPL od interaktywnej powłoki po prostu czytając definicje na Wikipedii. Wiki zauważa, że ​​REPL jest szczególnym rodzajem interaktywnej powłoki językowej. Czy to jednak odpowiedni podzbiór? Definicja Wiki wydaje się ograniczać terminologię REPL do języków podobnych do Lisp, podczas gdy podane właściwości tak naprawdę …

2
Dlaczego PHP nie obsługuje przeciążania funkcji?
Zastanawiam się, czy jedną z kluczowych cech języka programowania jest możliwość przeciążania funkcji argumentami. Myślę, że jest to niezbędne w kontekście programowania obiektowego. Czy jest to celowo pozostawione w tyle i niedozwolone? Czy przeciążanie nie jest dobrą praktyką?

8
Jaki jest termin zatwierdzenia naprawdę dużego kodu źródłowego? [Zamknięte]
Czasami, gdy sprawdzamy historię zatwierdzeń oprogramowania, możemy zauważyć, że istnieje kilka BITÓW, które są naprawdę DUŻE - mogą zmieniać 10 lub 20 plików setkami zmienionych linii kodu źródłowego (delta). Pamiętam, że istnieje taki termin na BIG, ale nie pamiętam dokładnie, co to jest. Czy ktoś może mi pomóc? Jakiego terminu …

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.