Inżynieria oprogramowania

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

3
Czy to zły projekt OOP do symulacji z udziałem interfejsów?
Projektuję swój mały program OOP do symulacji wampirów, wilków, ludzi i ciężarówek i staram się wdrożyć moje własne ograniczone rozumienie interfejsów. ( Nadal tu streszczam i nie mam jeszcze implementacji kodu, więc jest to raczej kwestia projektu OOP ... myślę!) Czy mam rację, szukając „wspólnego zachowania” między tymi klasami i …

1
Dlaczego znaki interpunkcyjne w tabeli ASCII są wszędzie?
W tabeli ASCII znaki interpunkcyjne pojawiają się między znakami niedrukowalnymi i przed cyframi ( !"#$%&')*+,-./), między cyframi a dużymi literami ( :;<=>?@), między dużymi literami ( [\]^_`) i małymi literami oraz po małych literach ( {|}~). Na pierwszy rzut oka można się spodziewać, że zostaną one zgrupowane; być może przed …
13 strings  ascii 

4
Techniki minimalizowania liczby argumentów funkcji
W czystym kodzie napisano, że „idealna liczba argumentów dla funkcji wynosi zero”. Powody, dla których zostały wyjaśnione i mają sens. Poszukuję technik refaktoryzacji metod z 4 lub więcej argumentami, aby rozwiązać ten problem. Jednym ze sposobów jest wyodrębnienie argumentów do nowej klasy, ale z pewnością doprowadziłoby to do eksplozji klas? …


3
Czy warto multipleksować strumienie blokujące w połączenie TCP?
Potrzebuję kilku kanałów dupleks między dwoma hostami. Istnieje wiele zalet ustanowienia tylko jednego połączenia TCP. Ale wątpię, by multipleksowanie spowodowało pewne nieuniknione problemy. Czy zaszkodzi to wydajności lub znacznie zwiększy opóźnienia? A co z wykorzystaniem pamięci i procesora? Czy masz jakieś sugestie lub zastrzeżenia?

5
Techniki zapewniające zgodność między platformami (C ++)?
Kończę jeden z moich najwcześniejszych projektów w C ++, który (zgodnie z ramami) powinien być wieloplatformowy. W pełni rozwinąłem projekt w Windows i Visual Studio, myśląc, że ponieważ wszystkie biblioteki są wieloplatformowe, wykonanie kompilacji OSX „później” byłoby trywialne. Okazało się, że tak nie jest, ale raczej „kod systemu Windows” nie …


2
Jak przejść do testowania kodu nie do wstrzykiwania?
Mam więc następujący kod w całym systemie. Obecnie piszemy testy jednostkowe retrospektywnie (lepiej późno niż nigdy nie był mój argument), ale nie rozumiem, jak to byłoby możliwe do przetestowania? public function validate($value, Constraint $constraint) { $searchEntity = EmailAlertToSearchAdapter::adapt($value); $queryBuilder = SearcherFactory::getSearchDirector($searchEntity->getKeywords()); $adapter = new SearchEntityToQueryAdapter($queryBuilder, $searchEntity); $query = $adapter->setupBuilder()->build(); $totalCount …


2
Czy wiele instrukcji użycia / importu wskazuje na nieprzyjemny zapach lub zapach kodu?
Zazwyczaj widzę kilka instrukcji using na górze pliku klasy. Przykład: using System.Collections.Generic; using System.IO; using System.Xml.Linq; Ale w projekcie, nad którym pracuję, kilkakrotnie widzę 20 lub więcej zastosowań / importów w jednym pliku klasy. Czy to zły projekt? Wydaje się, że klasy zaprojektowane do wykonywania jednej rzeczy powinny polegać tylko …

5
Jak sprawić, by Scrum pracował dla zespołu ze zdefiniowanymi rolami?
Kilka podstawowych informacji Jestem częścią wewnętrznego zespołu programistów. Składa się ona z 5 programistów (z doświadczeniem od 2 do 5 lat, jestem jednym z nich) 3 pracowników wdrożeniowych (zajmują się wdrażaniem oprogramowania i szkoleniem) i 1 kierownik projektu. Opracowujemy wiele małych i średnich projektów, a ich harmonogramy zwykle się pokrywają. …

3
Zapewnienie lokalnych zasobów JS i CSS na potrzeby awarii CDN
Jeśli się uwzględni Sieci CDN są dobrą rzeczą, ponieważ mogą obsługiwać zasoby bliżej klienta, klient może je buforować i można zmniejszyć obciążenie własnego serwera. W najnowszych przeglądarkach ładowanie zasobów z serwerów innych firm nie zmniejsza bezpieczeństwa dzięki Subresource Integrity (SRI) . Sieci CDN mogą być niedostępne lub zablokowane w niektórych …
13 javascript  css  cdn 


3
Różnice między podanym momentem, kiedy to (GWT) a Arrange Act Assert (AAA)?
W TDD istnieje składnia Arrange Act Assert (AAA): [Test] public void Test_ReturnItemForRefund_ReturnsStockOfBlackSweatersAsTwo_WhenOneInStockAndOneIsReturned() { //Arrange ShopStock shopStock = new ShopStock(); Item blackSweater = new Item("ID: 25"); shopStock.AddStock(blackSweater); int expectedResult = 2; Item blackSweaterToReturn = new Item("ID: 25"); //Act shopStock.ReturnItemForRefund(blackSweaterToReturn); int actualResult = shopStock.GetStock("ID: 25"); //Assert Assert.AreEqual(expectedResult, actualResult); } W testach BDD …
13 c#  unit-testing  tdd  bdd 

1
Niezmienniki czasu życia obiektu a semantyka ruchu
Kiedy nauczyłem się C ++ dawno temu, mocno podkreślono, że część C ++ polega na tym, że podobnie jak pętle mają „niezmienniki pętli”, klasy mają również niezmienniki związane z czasem życia obiektu - rzeczy, które powinny być prawdziwe tak długo, jak obiekt żyje. Rzeczy, które powinny zostać ustalone przez konstruktorów …

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.