Inżynieria oprogramowania

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

3
jak skomplikowany powinien być konstruktor
Rozmawiam z moim współpracownikiem o tym, ile pracy może wykonać konstruktor. Mam klasę B, która wewnętrznie wymaga innego obiektu A. Obiekt A jest jednym z niewielu elementów, których klasa B potrzebuje do wykonania swojej pracy. Wszystkie jego publiczne metody zależą od wewnętrznego obiektu A. Informacje o obiekcie A są przechowywane …
18 c#  constructors 

2
Wersje semantyczne przy naprawianiu ważnego błędu
Obecnie zarządzam biblioteką, która ma wiele zastosowań publicznych, i miałem pytanie dotyczące wersji semantycznej . Chcę refaktoryzować jedną dość ważną część biblioteki, która jest niepoprawnie zaimplementowana - i zawsze była niepoprawnie zaimplementowana. Ale zrobienie tego oznaczałoby zmiany w publicznym interfejsie API, co jest poważną decyzją. Zmiana, którą chcę wprowadzić, dotyczy …

7
Czy oświadczenia powinny / powinny być uporządkowane według rzadkości przypadków lub trudności w radzeniu sobie z nimi?
W jakimś kodzie, który teraz piszę, mam coś takiego: if (uncommon_condition) { do_something_simple(); } else { do(); something(); long(); and(); complicated(); } Część mnie myśli: „W porządku, w jaki jest napisany. Proste sprawy powinny iść na pierwszym miejscu, a bardziej skomplikowane sprawy powinny iść dalej”. Ale inna część mówi: „Nie! …

2
Jakie są wymagania dotyczące uznania w licencji MIT?
choosealicense.com twierdzi, że licencja MIT to „Licencja pobłażająca, krótka i na temat. To pozwala ludziom robić wszystko z twoim kodem, z poprawnym przypisaniem i bez gwarancji ”(moje podkreślenie). Jednak czytając licencję, nie widzę nic, co mogłoby wskazywać, że przypisanie autorowi oryginału musi być nigdzie, więc skąd oni to biorą?

4
Jak zbudować testy, w których jeden test jest konfiguracją innego testu?
Testuję integrację systemu, używając tylko publicznych interfejsów API. Mam test, który wygląda mniej więcej tak: def testAllTheThings(): email = create_random_email() password = create_random_password() ok = account_signup(email, password) assert ok url = wait_for_confirmation_email() assert url ok = account_verify(url) assert ok token = get_auth_token(email, password) a = do_A(token) assert a b = …
18 testing 


5
Znalazłem lepsze rozwiązanie problemu w pracy - czy powinienem powstrzymać się od opublikowania fragmentu kodu online?
Myślę, że większość z nas, programiści, używała przepełnienia stosu do rozwiązywania codziennych problemów: szukała wydajnego algorytmu do zrobienia czegoś. Teraz wyobraź sobie sytuację: masz problem do rozwiązania. Trochę googlowałem, znalazłem pytanie StackOverflow, ale do tej pory nie jesteś zadowolony z odpowiedzi. Musisz więc przeprowadzić własne badanie: musisz to zrobić, ponieważ …
18 legal 

4
Jaką różnicę robi doświadczenie? [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 lat temu . Widzę wiele ofert pracy, które wymagają co najmniej x lat doświadczenia. Pytanie brzmi: skąd wiesz, kiedy kandydat ma wymagane …

5
Po co używać bazy danych w pamięci do testowania integracji?
Jestem naprawdę zdezorientowany, gdy widzę dużo implementacji bazy danych w pamięci używanej do testowania, ponieważ słyszałem również wiele z najlepszych praktyk testowania integracji, że środowisko uruchamiające test powinno jak najbardziej przypominać środowisko produkcyjne, w tym system operacyjny , biblioteka, silnik bazy danych itp. Czego tu brakuje?
18 testing 

2
Co to znaczy „odsłonić” coś?
Pracuję więc nad stworzeniem aplikacji Google App Engine i wielokrotnie spotkałem się z terminem „ujawniaj”, np. „Twoja pierwsza aplikacja może ujawniać obiekty za pomocą interfejsu API opartego na HTTP” i „ujawniać tę klasę modelu danych za pomocą Interfejs API REST ”. Co oznacza „narazić”? Czy wiąże się z tym jakieś …




5
Co sprawia, że ​​JVM jest tak wszechstronny, że obsługuje tak wiele języków JVM?
JVM obsługuje tak wiele języków innych niż Java, jak Groovy,Clojure,Scalaitp., Które są językami funkcjonalnymi w przeciwieństwie do Javy (mam na myśli Javę przed wersją 8, gdzie Lambda'snie są obsługiwane), która nie obsługuje funkcji funkcjonalnych. Na wysokim poziomie, co sprawia, że ​​JVM jest tak wszechstronny, że może obsługiwać zarówno języki obiektowe, …


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.