Inżynieria oprogramowania

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

3
Dlaczego języki programowania generują podpisy metod bez względu na typ zwracanego kodu?
Pracowałem z wieloma językami, które nie generują podpisu metody na podstawie typu zwrotu. Pracowałem również z jednym (może niektórym?), Który działa. Te, które nie sprawiały mi problemów w przeszłości (jak tutaj ). Dlaczego języki programowania generują podpisy metod bez względu na typ zwracanego kodu? Aktualizacja: Mam na myśli szczególnie skompilowane …


4
Jak zmienia się myślenie o wzorcach projektowych i praktykach OOP w dynamicznych i słabo typowanych językach?
Jest już dość pomocne pytanie w tym zakresie („ Wzory projektowe inne niż OOP? ”), Ale jestem bardziej ciekawy przejściowego punktu widzenia dla kogoś, kto dopiero zaczyna pracę z dynamicznymi i słabo typowanymi językami. To znaczy: załóżmy, że programuję w C ++, C # lub Javie od wielu lat i …

3
Kiedy wycofywać, a kiedy usuwać w Javie
W ramach działań refaktoryzacyjnych lub po prostu ciągłego rozwoju, określona metoda lub może cała klasa może stać się w pewnym sensie przestarzała. Java obsługuje @Deprecatedadnotację wskazującą, że prawdopodobnie istnieje lepszy sposób obsługi danych funkcji. Wyobrażam sobie, że jest to szczególnie przydatne w publicznych interfejsach API, w których skutki usunięcia części …

4
W jaki sposób zamknięcia w Javie wpłyną na społeczność Java?
Jest to jedna z najczęściej omawianych funkcji planowanych w Javie: Zamknięcia. Wielu z nas tęskni za nimi. Niektórzy z nas (w tym ja) stali się trochę niecierpliwi i wybrali języki skryptowe, aby wypełnić pustkę. Ale po zamknięciu wreszcie oprogramowania Java: jak wpłyną na społeczność Java? Czy zaawansowanie języków skryptowych ukierunkowanych …
11 java  closures 

7
Jak mogę zmusić programistów do zaprzestania pisania kodu podatnego na iniekcję SQL?
Czasami jesteś zajęty i przekazujesz małe zadania młodszym programistom. Ale jeśli nie zwrócisz wystarczającej uwagi, znajdziesz się przy tego rodzaju kodzie w produkcji: class DivtoggleController extends Zend_Controller_Action { public function closeAction() { /* ... code removed for brevity ... */ $req = $this->getRequest(); $formData = $req->getPost(); $d = $formData['div']; $i …
11 php  sql  training 

5
Stosujesz projekt RESTful na całej stronie?
To wszystko może się wydać bardzo nowatorskie, ale staram się zapanować nad projektowaniem strony internetowej, która jest całkowicie RESTful. Rozumiem stosowanie RESTful design do takich rzeczy jak użytkownicy, zdjęcia, posty na blogach itp., Ponieważ myślę o nich jak o „obiektach”. Ale co ze stroną „o nas”. Co to za zasób? …

4
Zamknięcia projektu w Scrum
W typowym środowisku programistycznym zamknięcia projektu oznaczają koniec projektu. Dokumentacja projektu jest kompletna i archiwizowana, uwolnione zasoby, problemy i wnioski są udokumentowane, oraz uroczysta kolacja / przyjęcie organizowane z okazji uroczystości. Ostatni krok jest opcjonalny, ale jest bardzo motywujący dla uczestników. :-) Porównaj to z Scrum. Wiem, że scrum działa …
11 scrum 


12
Naprawianie błędów przybrzeżnych
Gdyby przyszły pracodawca powiedział ci, że „zlecał naprawę błędów, ponieważ programiści nienawidzą naprawiania błędów”, co byś pomyślał? Jakie mogą być twoje obawy?
11 bug  offshore 

10
Czy programiści Python uważają problem z białymi znakami za niewygodny? [Zamknięte]
W obecnej formie to pytanie nie pasuje do naszego formatu pytań i odpowiedzi. Oczekujemy, że odpowiedzi poparte będą faktami, referencjami lub wiedzą fachową, ale to pytanie prawdopodobnie będzie wymagało debaty, argumentów, ankiet lub rozszerzonej dyskusji. Jeśli uważasz, że to pytanie można poprawić i ewentualnie ponownie otworzyć, odwiedź centrum pomocy w …

7
Techniki parsowania XML
Zawsze uważałem, że XML jest nieco kłopotliwy w przetwarzaniu. Nie mówię o implementacji analizatora składni XML: mówię o używaniu istniejącego analizatora opartego na strumieniu, takiego jak analizator składni SAX, który przetwarza węzeł XML według węzła. Tak, naprawdę łatwo jest nauczyć się różnych interfejsów API dla tych parserów, ale kiedy patrzę …

6
Dlaczego wiązanie nie jest funkcją natywną w większości języków?
IMHO powiązanie zmiennej z inną zmienną lub wyrażeniem jest bardzo częstym scenariuszem w matematyce. W rzeczywistości na początku wielu uczniów uważa, że ​​operator przypisania (=) jest rodzajem wiązania. Ale w większości języków wiązanie nie jest obsługiwane jako funkcja natywna. W niektórych językach, takich jak C #, wiązanie jest obsługiwane w …

7
Programowanie strukturalne a programowanie OO
Przygotowuję prezentację, która pokazuje różnice między programowaniem strukturalnym a programowaniem obiektowym i chcę zilustrować, dlaczego ludzie potrzebują OOP, na przykładzie, w którym zastosowanie koncepcji OOP znacznie ułatwi kodowanie, dzięki czemu odbiorcy naprawdę poczują, że potrzebują OOP. Jakieś pomysły ??

1
Kompozycja Przykład oprogramowania transakcyjnej pamięci
Jedną z głównych zalet programowej pamięci transakcyjnej, o której zawsze się wspomina, jest kompozycyjność i modułowość. Różne fragmenty można łączyć w celu wytworzenia większych elementów. W programach opartych na blokadach często tak nie jest. Szukam prostego przykładu ilustrującego to faktycznym kodem. Wolałbym przykład w Clojure, ale Haskell też jest w …
11 haskell  clojure  stm 

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.