Inżynieria oprogramowania

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

5
Czy dobrą praktyką jest unikanie stałych za pomocą getterów?
Czy dobrą praktyką jest zastępowanie stałych używanych poza klasami przez metody pobierające? Na przykład, czy lepiej jest użyć if User.getRole().getCode() == Role.CODE_ADMINlub if User.getRole().isCodeAdmin()? Doprowadziłoby to do tej klasy: class Role { constant CODE_ADMIN = "admin" constant CODE_USER = "user" private code getRoleCode() { return Role.code } isCodeAdmin () { …

5
Czy odrzucenie obietnicy dotyczy tylko błędów?
To pytanie zostało przeniesione z przepełnienia stosu, ponieważ można na nie odpowiedzieć w programie Software Engineering Stack Exchange. Migrował 3 lata temu . Powiedzmy, że mam funkcję uwierzytelnienia, która zwraca obietnicę. Obietnica rozwiązuje się z wynikiem. Fałsz i prawda są oczekiwanymi rezultatami, tak jak ja to widzę, a odrzucenia powinny …
25 javascript 

7
Podaj opcjonalne nazwy parametrów, nawet jeśli nie są wymagane?
Rozważ następującą metodę: public List<Guid> ReturnEmployeeIds(bool includeManagement = false) { } I następujące połączenie: var ids = ReturnEmployeeIds(true); Dla programistów, którzy są nowicjuszami w systemie, odgadnięcie, co się stało, byłoby dość trudne true. Najpierw najedź kursorem na nazwę metody lub przejdź do definicji (z których żadne nie jest dużym zadaniem). …

6
Czy interfejs może zawierać metodę, która zwraca konkretny typ implementacji w postaci stałej?
Bardzo często wpadam w sytuację, w której potrzebuję innego zachowania komponentu, które zależy od konkretnego rodzaju innego interfejsu. Aby zilustrować moje pytanie, napisałem mały fragment kodu, który pokaże, co mam na myśli. W tym przykładzie próbuję utworzyć obiekt żywnościowy z obiektu zwierzęcego. interface Animal { void growl(); String getAnimalType(); //"DOG" …

6
Jak podejść do skomplikowanego scalenia
Oto umowa, dołączyłem do nowej firmy i poproszono mnie o zakończenie pracy w oddziale, który nie był dotykany przez prawie rok. W międzyczasie gałąź master rozwijała się w stałym tempie. Idealnie chciałbym scalić wszystkie zmiany z gałęzi master do gałęzi funkcji i kontynuować pracę od tego momentu, ale nie jestem …

1
Pozostałe interfejsy API - wyzwania specyficzne dla urządzeń mobilnych
Pracuję nad nowym projektem aplikacji na iOS po stronie mobilnej. Trwają pewne zmiany architektury i okazuje się, że będziemy musieli polegać na niestandardowym, prywatnym interfejsie API, który będzie używany przez aplikację, którą tworzymy, a także przez innych klientów, takich jak strona internetowa. Zaprojektowany interfejs API jest zgodny ze stylem Rest …
25 rest  api  ios  mobile 

5
Czy instancja może być równa innej instancji bardziej konkretnego typu?
Przeczytałem ten artykuł: Jak napisać metodę równości w Javie . Zasadniczo zapewnia rozwiązanie dla metody equals (), która obsługuje dziedziczenie: Point2D twoD = new Point2D(10, 20); Point3D threeD = new Point3D(10, 20, 50); twoD.equals(threeD); // true threeD.equals(twoD); // true Ale czy to dobry pomysł? te dwa wystąpienia wydają się być …
25 java  c#  scala  comparison 


1
O czym należy pamiętać przy wydaniu aplikacji korzystającej z bibliotek licencjonowanych na licencji Apache 2.0? [Zamknięte]
Zamknięte. To pytanie jest nie na temat . Obecnie nie przyjmuje odpowiedzi. Chcesz poprawić to pytanie? Zaktualizuj pytanie, aby było tematem dotyczącym wymiany stosów inżynierii oprogramowania. Zamknięte 6 miesięcy temu . Tworzę aplikację na Androida, która wkrótce będzie gotowa do wydania. Zamierzam wdrożyć system zakładek za pomocą tej biblioteki . …

7
Czy można zastosować elastyczne podejście zwinne do projektów, które wymagają oszacowania zarówno czasu poświęconego, jak i zaoszczędzonego czasu?
Chcesz poprawić ten post? Podaj szczegółowe odpowiedzi na to pytanie, w tym cytaty i wyjaśnienie, dlaczego Twoja odpowiedź jest poprawna. Odpowiedzi bez wystarczającej ilości szczegółów mogą być edytowane lub usuwane. Jako osoba, która wcześniej efektywnie pracowała z Agile, staram się przekonać moich obecnych pracodawców o jej zaletach. Jednak zarząd nalega, …
25 agile 

1
Czy waniliowy JS jest nadal uważany za bibliotekę?
Niedawno dowiedziałem się, że VanillaJS (dokument?) To biblioteka, która jest w pakiecie z 99% przeglądarkami i nie jest dokładnie natywnym JavaScriptem (szok mojego życia). Pisząc własną bibliotekę, zwykle unikam wszystkich pomocnych rzeczy, głównie bibliotek. Teraz mam trzy pytania: Czy VanillaJS nadal jest uważana za lib? Czy istnieje sposób na zrobienie …


4
Czy istnieje dobry powód, aby funkcje czysto niepubliczne?
Odbyłem krótką debatę ze współpracownikiem. Mówiąc najprościej, czy istnieje dobry powód, aby ukrywać / enkapsulować funkcje, które są czyste? Przez „czysty” rozumiem definicję wikipedii : Zawsze zwraca te same wyniki z tego samego wejścia. (Ze względu na tę dyskusję Foo Create(){ return new Foo(); }uważa się ją za nieczystą, jeśli …

2
Co tak naprawdę oznacza „logika biznesowa”, jeśli nie „cały kod strony trzeciej”?
Słyszałem, jak ludzie dużo mówią o logice biznesowej w pracy i Internecie, i przeczytałem o niej kilka pytań na tej stronie, ale ten termin wciąż nie ma dla mnie większego sensu. Oto na przykład niektóre (parafrazowane) stwierdzenia, które często widzę: „Logika biznesowa jest częścią twojego programu, która koduje aktualne reguły …

8
Czy moja sekwencyjna kolekcja powinna zaczynać się od indeksu 0 czy indeksu 1?
Tworzę model obiektowy dla urządzenia, które ma wiele kanałów. Rzeczowniki używane między klientem a mną to Channeli ChannelSet. („Zestaw” nie jest semantycznie dokładny, ponieważ jest uporządkowany, a prawidłowy zestaw nie. Ale to problem na inny czas.) Używam C #. Oto przykład użycia ChannelSet: // load a 5-channel ChannelSet ChannelSet channels …

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.