Inżynieria oprogramowania

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

8
Jaki styl jest lepszy (zmienna instancji vs. wartość zwracana) w Javie
Często próbuję zdecydować, który z tych dwóch sposobów użyć, gdy muszę użyć wspólnych danych w niektórych metodach w moich klasach. Jaki byłby lepszy wybór? W tej opcji mogę utworzyć zmienną instancji, aby uniknąć konieczności deklarowania dodatkowych zmiennych, a także aby uniknąć definiowania parametrów metody, ale może nie być tak jasne, …



5
Zła praktyka - zmień obudowę, aby ustawić środowisko
W ciągu ostatnich trzech lat, kiedy pracowałem jako programista, widziałem wiele przykładów, w których ludzie używają instrukcji switch do ustawiania ścieżki (zarówno wewnętrznej, jak i front-endowej) adresu URL. Poniżej znajduje się przykład tego: Przykład zaplecza (C #): public static string getHost(EnvironmentEnum environment){ var path = String.Empty; switch (environment) { case …

10
Czy „Parent x = new Child ();” zamiast „Child x = new Child ();” jest złą praktyką, jeśli możemy użyć tego drugiego?
Na przykład widziałem niektóre kody, które tworzą taki fragment: Fragment myFragment=new MyFragment(); który deklaruje zmienną jako Fragment zamiast MyFragment, który MyFragment jest klasą potomną Fragment. Nie jestem usatysfakcjonowany tą linią kodów, ponieważ uważam, że ten kod powinien być: MyFragment myFragment=new MyFragment(); co jest bardziej szczegółowe, czy to prawda? Lub w …

3
Czy przechowywanie danych w postaci zwykłego tekstu zajmuje mniej miejsca niż przechowywanie równoważnej wiadomości w formacie binarnym?
Jako programista bardzo mało rozumiem danych binarnych. Jeśli wezmę zdanie „Witaj świecie.”, Przekonwertuj go na binarny i zapisz jako binarny w bazie danych SQL, wygląda na to, że cyfry 1 i 0 zajęłyby więcej miejsca niż litery. Wydaje mi się, że używanie liter byłoby jak kompresja, w której jeden symbol …

6
dlaczego ludzie robią API REST zamiast DBAL?
W ostatnich dwóch firmach istniałem w REST API, które istnieją w celu przeszukiwania danych za pośrednictwem aplikacji internetowej. to znaczy. zamiast zmuszać aplikację internetową do wykonywania SQL bezpośrednio, wywołuje interfejs API REST, który robi SQL i zwraca wynik. Moje pytanie brzmi ... dlaczego to się dzieje? Jeśli miałby być narażony …

3
Czy kod źródłowy projektu Go poza GOPATH jest złym pomysłem
Pracuję nad nowym projektem przy użyciu Go i wszyscy jesteśmy nowi w Go. Postępujemy zgodnie ze standardową strukturą katalogów go i mamy cały kod poniżej $ GOPATH / src / github.com / nazwa firmy / nazwa projektu który jest również katalogiem głównym repozytorium git Standardowy zalecany układ ścieżki wydaje się …
32 go 


3
Czy adres 0000000C jest adresem specjalnym?
Podczas programowania czasami coś się psuje. Popełniłeś błąd i twój program próbuje odczytać z niewłaściwego adresu. Jedna rzecz, która wyróżnia mnie, że często te wyjątki to: Access violation at address 012D37BC in module 'myprog.exe'. Read of address 0000000C. Teraz widzę wiele dzienników błędów, a wyróżnia mnie: 0000000C. Czy to adres …

3
W jaki sposób wtrysk zależny zwiększa sprzęganie?
Na stronie Wikipedii dotyczącej wstrzykiwania zależności, sekcja wad mówi: Wstrzykiwanie zależności zwiększa sprzężenie, wymagając od użytkownika podsystemu zaspokojenia potrzeb tego podsystemu. z linkiem do artykułu przeciw wstrzykiwaniu zależności . Wstrzykiwanie zależności powoduje, że klasa korzysta z interfejsu zamiast konkretnej implementacji. To powinno skutkować zmniejszeniem sprzężenia , prawda? czego mi brakuje? …

5
Dlaczego bazy kodu w programowaniu n-warstwowym mają teraz tyle samo, jeśli nie więcej, kodu JavaScript?
Od dłuższego czasu zajmuję się programowaniem internetowym i gdzieś straciłem orientację, dlaczego robimy to, co robimy dzisiaj (lub jak zaczęliśmy robić rzeczy w ten sposób)? Zacząłem od podstawowego programowania stron ASP i bardzo wcześnie logika wyświetlania i biznesu była na stronie mieszana. Rozwój po stronie klienta był bardzo zróżnicowany (VBScript, …

4
Zasada najmniejszej wiedzy
Rozumiem motyw zasady najmniejszej wiedzy , ale znajdę pewne wady, jeśli spróbuję zastosować ją w moim projekcie. Jeden z przykładów tej zasady (właściwie jak jej nie używać), które znalazłem w książce Wzory pierwszego projektu, określają, że błędne jest wywoływanie metody na obiektach, które zostały zwrócone z wywołania innych metod, pod …

1
Dlaczego warto korzystać z Bower? [Zamknięte]
W pełni doceniam zalety menedżera pakietów, takiego jak Python pip, Node npmlub Ruby Gems, ponieważ robią one znacznie więcej niż dodawanie plików do ścieżki aplikacji. Może brakuje mi sensu lub jestem tępy, ale oto niektóre negatywy , które widzę: Oddzielny krok podczas budowania projektu Oddzielna zależność do zainstalowania za pomocą …

4
Czym dokładnie jest programowanie proceduralne? Czym dokładnie różni się od OOP? Czy to to samo, co programowanie funkcjonalne?
Programuję w Javie w bardzo obiektowym stylu (OO). OOP przychodzi mi bardzo intuicyjnie, ale mam bardzo małą wiedzę na temat innych rodzajów programowania. Czym dokładnie jest programowanie proceduralne ? Czym dokładnie różni się od OOP? Czy to to samo, co programowanie funkcjonalne ? Kiedyś myślałem, że wszystkie programy, które nie …

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.