Inżynieria oprogramowania

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

7
Czy istnieje bardziej inteligentny sposób na zrobienie tego oprócz długiego łańcucha instrukcji if lub switch?
Wdrażam bota IRC, który odbiera wiadomość i sprawdzam tę wiadomość, aby określić, które funkcje wywołać. Czy jest na to bardziej sprytny sposób? Wygląda na to, że szybko wymknął się spod kontroli po tym, jak wykonałem 20 poleceń. Być może istnieje lepszy sposób na streszczenie tego? public void onMessage(String channel, String …

10
Jak mój zespół może uniknąć częstych błędów po refaktoryzacji?
Aby dać ci trochę tła: Pracuję dla firmy z około dwunastoma programistami Ruby on Rails (stażyści +/-). Praca zdalna jest powszechna. Nasz produkt składa się z dwóch części: raczej grubego rdzenia i zbudowanych na nim dużych projektów klientów. Projekty klientów zwykle rozszerzają rdzeń. Zastąpienie kluczowych funkcji nie występuje. Mógłbym dodać, …

4
Pomaganie komuś, kto nie jest i nigdy nie będzie profesjonalnym programistą, pisanie kodu, który jest bardziej czytelny i użyteczny w użyciu i interpretacji [zamknięty]
Zamknięte . To pytanie musi być bardziej skoncentrowane . Obecnie nie przyjmuje odpowiedzi. Chcesz poprawić to pytanie? Zaktualizuj pytanie, aby skupiało się tylko na jednym problemie, edytując ten post . Zamknięte 4 lata temu . Jestem Elvis, bardzo się staram nauczyć się być Einsteinem. Pracuję dla Morta. O czym do …




4
Jak udokumentować strukturę wysokiego poziomu programu Java?
Kontekst: Ja i moi współpracownicy piszemy artykuł do czasopisma akademickiego. W trakcie naszych badań napisaliśmy program symulacyjny w Javie. Chcemy, aby program symulacji był swobodnie dostępny dla innych. Zdecydowaliśmy się na hosting kodu w repozytorium GitHub. Aby ułatwić innym korzystanie, chcemy napisać dobrą dokumentację dla naszego programu, w tym: Javadocs …

1
Plusy i minusy przestrzeni nazw vs. obejmują / wymagają w PHP?
Niedawno zacząłem używać przestrzeni nazw w PHP. Kiedy pierwszy raz je zobaczyłem, pomyślałem, że ich składnia jest brzydka i nigdy ich nie użyję. Jednak utworzyłem autoloader (spl_autoload_register), który sprawia, że ​​nie muszę już nigdy pisać instrukcji włącz / wymagaj. Lubię przestrzenie nazw, ale czy jest jakaś obiektywna korzyść w stosunku …
20 php  namespace 

7
Czy dane statyczne powinny być przechowywane w bazie danych czy gdzie indziej?
Obecnie pracuję nad jakimś oprogramowaniem i nie jestem pewien, którą drogę wybrać. Mam jakieś dane do przechowywania gdzieś na urządzeniu mobilnym. Dane nigdy się nie zmienią i mają hierarchiczną relację i zostaną wykorzystane do wypełnienia wyświetlacza. Istnieje rozsądna ilość tych danych. Mam następujące opcje: Zestaw wyliczeń / obiektów Plik XML …
20 design 

6
Stopniowe pisanie: „Niemal każdy język ze statycznym systemem typów ma również system dynamicznych typów”
Twierdzenie to przez Aleks Bromfield stwierdza: Prawie każdy język ze statycznym systemem typów ma również dynamiczny system typów. Oprócz C nie mogę wymyślić wyjątku Czy jest to uzasadnione roszczenie? Rozumiem, że dzięki klasom refleksyjnym lub ładującym w środowisku uruchomieniowym Java jest trochę podobna - ale czy ten pomysł „stopniowego pisania” …

4
Kiedy używać wzorca repozytorium
Niedawno przeczytałem, że stosowanie wzorca repozytorium w połączeniu z ORM nie jest dobrą praktyką. Z mojego zrozumienia wynika, że ​​abstrakcja, którą zapewniają w bazie danych SQL, jest zbyt nieszczelna, aby mogła zostać zawarta we wzorcu. Mam kilka pytań na ten temat: Co robisz, jeśli chcesz zmienić ORM? Miałbyś kod specyficzny …

4
Pusty interfejs do łączenia wielu interfejsów
Załóżmy, że masz dwa interfejsy: interface Readable { public void read(); } interface Writable { public void write(); } W niektórych przypadkach obiekty implementujące mogą obsługiwać tylko jeden z nich, ale w wielu przypadkach implementacje będą obsługiwały oba interfejsy. Ludzie korzystający z interfejsów będą musieli zrobić coś takiego: // can't …


2
Jak wdrożyć programy interaktywne (takie jak gry / symulacje) przy użyciu programowania logiki?
Słyszałem, że programowanie logiki może służyć jako alternatywa ogólnego przeznaczenia dla innych paradygmatów programowania, takich jak programowanie OO lub programowanie funkcjonalne. (Ponieważ Prolog jest kompletny w Turinga, musi tak być!) Mam jednak problem z widzeniem, jak zaimplementować program interaktywny, taki jak prosta, graficzna gra konsolowa w Prologu lub w podobnym …

7
Jak najlepiej chronić od zera przekazanego do parametrów std :: string?
Właśnie zdałem sobie sprawę z czegoś niepokojącego. Za każdym razem, gdy piszę metodę, która przyjmuje parametr std::stringjako parametr, otwieram się na niezdefiniowane zachowanie. Na przykład to ... void myMethod(const std::string& s) { /* Do something with s. */ } ... można tak nazwać ... char* s = 0; myMethod(s); ... …
20 c++ 

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.