Inżynieria oprogramowania

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


30
Co uważasz za pierwszą zasadę programowania?
Zawsze lubiłem zadawać sobie pytanie: „jakie są pierwsze zasady?” po tym, jak nauczyłem się podstawowych rzeczy (np. programowania). To inspirujące pytanie, IMO, które może zmusić cię do myślenia o najważniejszych zasadach stojących za czymś, szczególnie umiejętności takich jak programowanie. Jak myślisz, co jest pierwszą zasadą programowania? Nieco później dam odpowiedź …

3
Folder według typu lub Folder według funkcji
Korzystam z przewodnika po stylu AngularJS. W tym przewodniku jest styl zwany folder-by-featurezamiast folder-by-type, i jestem ciekawy, jakie jest najlepsze podejście (w tym przykładzie dla Javy) Załóżmy, że mam aplikację, w której mogę odzyskiwać użytkowników i zwierzęta, korzystając z usług, kontrolerów, repozytoriów i obiektów domeny oczywiście. Biorąc pod uwagę style …

4
Kiedy stosować kombinator parserów? Kiedy używać generatora parsera?
Niedawno zanurzyłem się w świat parserów, chcąc stworzyć własny język programowania. Odkryłem jednak, że istnieją dwa nieco odmienne podejścia do pisania parserów: Parser Generators i Parser Combinators. Co ciekawe, nie udało mi się znaleźć żadnego zasobu, który wyjaśniłby, w jakich przypadkach które podejście jest lepsze; Przeciwnie, wiele zasobów (i osób) …

5
Czy warto przeprowadzać testy jednostkowe, które usuwają i kpią z wszystkiego, co publiczne?
Kiedy wykonuję testy jednostkowe w „właściwy” sposób, tj. Przerywając każde publiczne połączenie i zwracając ustawione wartości lub kpiny, mam wrażenie, że tak naprawdę niczego nie testuję. Dosłownie patrzę na mój kod i tworzę przykłady oparte na logice za pomocą moich publicznych metod. I za każdym razem, gdy zmienia się implementacja, …

7
RESTFul: akcje zmieniające stan
Planuję zbudować RESTfull API, ale są pewne pytania architektoniczne, które powodują pewne problemy w mojej głowie. Dodanie logiki biznesowej zaplecza do klientów to opcja, której chciałbym uniknąć, ponieważ aktualizowanie wielu platform klienckich jest trudne do utrzymania w czasie rzeczywistym, gdy logika biznesowa może się szybko zmienić. Powiedzmy, że mamy artykuł …
59 api  rest 

12
Czy to jest dobry przypadek użycia goto w C?
Naprawdę waham się zadać to pytanie, ponieważ nie chcę „zabiegać o debatę, argumenty, ankiety lub rozszerzoną dyskusję”, ale jestem nowy w C i chcę uzyskać lepszy wgląd w typowe wzorce stosowane w języku. Niedawno usłyszałem niechęć do tego gotopolecenia, ale ostatnio również znalazłem dla niego przyzwoity przypadek użycia. Kod taki …

21
„Wczoraj działało, przysięgam!” Co możesz zrobić? [Zamknięte]
Kiedy przychodzisz rano, okazuje się, że twoje oprogramowanie już nie działa, nawet jeśli miało to miejsce, gdy wyszedłeś wczoraj wieczorem. Co robisz? Co najpierw sprawdzasz? Co robisz, aby przestać się gniewać i zacząć pracować nad swoim problemem? Czy obwiniasz swoich kolegów i idziesz bezpośrednio do nich? Co można zrobić, aby …


6
Dlaczego pamięć podręczna procesora jest tak szybka?
Co sprawia, że ​​pamięć podręczna procesora jest o wiele szybsza niż pamięć główna? Widzę pewne korzyści w wielowarstwowym systemie pamięci podręcznej. Ma to sens, że wyszukiwanie w mniejszej pamięci podręcznej jest szybsze. Ale musi być coś więcej.
58 memory  caching 


4
Kiedy i do jakich celów należy używać słowa kluczowego const w C dla zmiennych?
Podczas sprawdzania mojego kodu tutajconst pojawił się problem użycia słowa kluczowego. Rozumiem, że służy do implementacji zachowania tylko do odczytu w zmiennych. Jestem zdezorientowany, jakie są różne sytuacje, w których może to być przydatne. Czy należy go używać ze względu na przejrzystość prototypów funkcji? Czy powinien być stosowany jako środek …

10
Dlaczego program miałby używać zamknięcia?
Po przeczytaniu wielu postów wyjaśniających zamknięcie tutaj wciąż brakuje mi kluczowej koncepcji: po co pisać zamknięcie? Jakie konkretne zadanie wykonałby programista, któremu najlepiej byłoby zamknąć? Przykłady zamknięć w Swift to dostęp do NSUrl i użycie odwrotnego geokodera. Oto jeden taki przykład. Niestety te kursy przedstawiają tylko zamknięcie; nie wyjaśniają, dlaczego …


7
Jak ważne jest, aby programista wiedział, jak zaimplementować algorytm QuickSort / MergeSort z pamięci? [Zamknięte]
Przeglądałem swoje notatki i natknąłem się na implementację różnych algorytmów sortowania. Kiedy próbowałem zrozumieć implementację QuickSort i MergeSort, przyszło mi do głowy, że chociaż programuję na życie i uważam się za przyzwoitego w tym, co robię, nie mam ani pamięci fotograficznej, ani siły mózgowej do wdrożenia tych algorytmów bez opierając …
58 algorithms 

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.