Inżynieria oprogramowania

30
Słownik kontra lista

Więc wpadłem na Dictionary<int, int>dzisiaj w pracy. Wydawało mi się to dziwne, ponieważ prawdopodobnie użyłbym List<int>zamiast tego. Czy jest jakaś różnica i czy byłby przypadek użycia, w którym jedna struktura byłaby preferowana względem

30
Pisanie Java o niskim opóźnieniu [zamknięte]

Czy istnieją jakieś techniki specyficzne dla Javy (rzeczy, które nie miałyby zastosowania do C ++) do pisania kodu o niskim opóźnieniu w Javie? Często widzę role Java o niskim opóźnieniu i proszą o doświadczenie w pisaniu Java o niskim opóźnieniu - co czasem wydaje się trochę oksymoronem. Jedyne,...

30
Dlaczego koncepcja leniwej oceny jest przydatna?

Wydaje się, że leniwa ocena wyrażeń może spowodować utratę kontroli przez programistę nad kolejnością wykonywania kodu. Mam problem ze zrozumieniem, dlaczego programista może to zaakceptować. Jak można wykorzystać ten paradygmat do budowy przewidywalnego oprogramowania, które działa zgodnie z...

30
najlepsze praktyki dotyczące funkcji fabryki w Pythonie

Załóżmy, że mam plik foo.pyzawierający klasę Foo: class Foo(object): def __init__(self, data): ... Teraz chcę dodać funkcję, która tworzy Fooobiekt w określony sposób z surowych danych źródłowych. Czy powinienem umieścić go jako metodę statyczną w Foo, czy jako inną osobną funkcję? class...

30
Puzzle Fontanna Champaign

Puste szklanki wody są ułożone w następującej kolejności: Gdy wlejesz płyn do 1. szklanki, jeśli jest pełna, dodatkowy płyn zostanie wlany do szklanek 2 i 3 w równych ilościach. Gdy szklanka 2 jest pełna, dodatkowa ciecz zostanie przelana do 4 i 5 i tak dalej. Biorąc pod uwagę N litrów płynu, a...

30
Czy powinienem testować odziedziczone metody?

Załóżmy, że mam menedżera klas wywodzącego się z pracownika klasy podstawowej i że pracownik ma metodę getEmail (), która jest dziedziczona przez menedżera . Czy powinienem sprawdzić, czy zachowanie metody getEmail () menedżera jest w rzeczywistości takie samo jak zachowanie pracownika? W momencie...