Błędy i kompromisy w oprogramowaniu: Jak podejmować dobre decyzje programistyczne

Ocena:   (4,3 na 5)

Błędy i kompromisy w oprogramowaniu: Jak podejmować dobre decyzje programistyczne (Tomasz Lelek)

Opinie czytelników

Podsumowanie:

Książka zapewnia szczegółową analizę dokonywania kompromisów w inżynierii oprogramowania, podkreślając znaczenie zrozumienia alternatyw i rzeczywistych implikacji decyzji projektowych. Chociaż oferuje cenne spostrzeżenia i zachęca do pragmatycznego podejścia, otrzymała mieszane recenzje dotyczące jakości pisania i przydatności dla różnych poziomów doświadczenia.

Zalety:

Oferuje cenne informacje na temat kompromisów i realistycznych scenariuszy w inżynierii oprogramowania.
Zachęca do krytycznego myślenia o tym, kiedy należy złamać konwencjonalne zasady, takie jak dopuszczalne użycie duplikacji kodu.
Zawiera praktyczne przykłady mające zastosowanie w rzeczywistych sytuacjach.
Porusza szereg tematów istotnych dla inżynierów oprogramowania na różnych poziomach.
Promuje zrównoważone zrozumienie najlepszych praktyk w stosunku do rzeczywistej implementacji.

Wady:

Niektóre rozdziały są nadmiernie skoncentrowane na trywialnych tematach specyficznych dla języka Java, co może nie być interesujące dla doświadczonych programistów.
Wahania jakości tekstu, niektóre sekcje są niepotrzebnie rozwlekłe lub uproszczone.
Brak dogłębnej eksploracji złożonych scenariuszy ze świata rzeczywistego i odniesień do dalszej lektury.
Niektóre przykłady mogą wydawać się zbyt wymyślone lub oczywiste, co ogranicza ich praktyczne zastosowanie.

(na podstawie 5 opinii czytelników)

Oryginalny tytuł:

Software Mistakes and Tradeoffs: How to Make Good Programming Decisions

Zawartość książki:

Zoptymalizuj decyzje, które definiują Twój kod, badając typowe błędy i celowe kompromisy dokonywane przez doświadczonych programistów.

W Software Mistakes and Tradeoffs dowiesz się jak:

Rozumować o swoich systemach, aby podejmować intuicyjne i lepsze decyzje projektowe.

Rozumieć konsekwencje i jak równoważyć kompromisy.

Wybrać odpowiednią bibliotekę dla danego problemu.

Dokładnie analizować wszystkie zależności między usługami.

Zrozumienie semantyki dostarczania i jej wpływu na architekturę rozproszoną.

Projektowanie i przeprowadzanie testów wydajności w celu wykrycia gorących ścieżek kodu i walidacji umowy SLA systemu.

Wykryj i zoptymalizuj gorące ścieżki w kodzie, aby skoncentrować wysiłki optymalizacyjne na przyczynach źródłowych.

Wybór odpowiedniego modelu danych do obsługi daty/czasu w celu uniknięcia powszechnych (ale subtelnych) błędów.

Zastanów się nad kompatybilnością i wersjonowaniem, aby zapobiec nieoczekiwanym problemom dla klientów API.

Zrozumienie ścisłego/luźnego sprzężenia i jego wpływu na koordynację pracy między zespołami.

Sprecyzuj wymagania, aż będą precyzyjne, łatwe do wdrożenia i przetestowania.

Zoptymalizuj swoje API pod kątem przyjaznego doświadczenia użytkownika.

Wydajność kodu kontra prostota. Szybkość dostarczania kontra powielanie. Elastyczność kontra łatwość utrzymania - każda decyzja podejmowana w inżynierii oprogramowania wiąże się z kompromisami. W Software Mistakes and Tradeoffs poznasz kosztowne błędy, które Tomasz Lelek i Jon Skeet napotkali w swojej imponującej karierze. Poznasz rzeczywiste scenariusze, w których słabe zrozumienie kompromisów prowadzi do poważnych problemów w przyszłości, dzięki czemu możesz zapobiec własnym błędom dzięki bardziej przemyślanemu podejściu do podejmowania decyzji.

Dowiesz się, w jaki sposób powielanie kodu wpływa na sprzężenie i szybkość ewolucji systemów oraz jak proste wymagania mogą mieć ukryte niuanse w odniesieniu do informacji o dacie i czasie. Odkryj, jak skutecznie zawęzić zakres optymalizacji zgodnie z zasadami 80/20 Pareto i zapewnić spójność w systemach rozproszonych. Wkrótce zbudujesz bazę wiedzy, która pochodzi tylko z wieloletniego doświadczenia.

Zakup książki drukowanej obejmuje bezpłatny eBook w formatach PDF, Kindle i ePub od Manning Publications.

O technologii.

Każdy etap projektu oprogramowania wiąże się z koniecznością dokonywania kompromisów. Kiedy balansujesz między szybkością, bezpieczeństwem, kosztami, czasem dostawy, funkcjami i nie tylko, rozsądne wybory projektowe mogą okazać się problematyczne w produkcji. Spostrzeżenia ekspertów i powiązane historie wojenne zawarte w tej książce pomogą ci dokonywać dobrych wyborów podczas projektowania i tworzenia aplikacji.

O książce.

Software Mistakes and Tradeoffs bada rzeczywiste scenariusze, w których podjęto niewłaściwe decyzje i pokazuje, co można było zrobić inaczej. Autorzy Tomasz Lelek i Jon Skeet dzielą się mądrością opartą na dziesięcioleciach doświadczenia w inżynierii oprogramowania, w tym kilkoma pouczającymi błędami. Docenisz konkretne wskazówki i praktyczne techniki, które towarzyszą każdemu przykładowi, a także wiecznie zielone wzorce, które zmienią sposób, w jaki podchodzisz do kolejnych projektów.

Co jest w środku.

Jak systematycznie myśleć o swoim oprogramowaniu.

Jak wybierać narzędzia, biblioteki i frameworki.

Jak ścisłe i luźne połączenie wpływa na koordynację zespołu.

Wymagania, które są precyzyjne, łatwe do wdrożenia i przetestowania.

O czytelniku.

Dla programistów i architektów średniego i wyższego szczebla, którzy podejmują decyzje dotyczące projektowania i wdrażania oprogramowania.

O autorze.

Tomasz Lelek na co dzień pracuje z szeroką gamą usług produkcyjnych, architektur i języków JVM. Inżynier Google i autor C# in Depth, Jon Skeet jest znany ze swojego praktycznego wkładu w Stack Overflow.

Spis treści.

1 Wprowadzenie.

2 Powielanie kodu nie zawsze jest złe: Powielanie kodu a elastyczność.

3 Wyjątki a inne wzorce obsługi błędów w kodzie.

4 Równoważenie elastyczności i złożoności.

5 Przedwczesna optymalizacja vs. optymalizacja gorącej ścieżki: Decyzje wpływające na wydajność kodu.

6 Prostota a koszty utrzymania interfejsu API.

7 Efektywna praca z danymi dotyczącymi daty i godziny.

8 Wykorzystanie lokalności danych i pamięci maszyn.

9 Biblioteki firm trzecich: Biblioteki, których używasz, stają się twoim kodem.

10 Spójność i atomowość w systemach rozproszonych.

11 Semantyka dostarczania w systemach rozproszonych.

12 Zarządzanie wersjonowaniem i kompatybilnością.

13 Nadążanie za trendami a koszty utrzymania kodu.

Dodatkowe informacje o książce:

ISBN:9781617299209
Autor:
Wydawca:
Język:angielski
Oprawa:Miękka oprawa
Rok wydania:2022
Liczba stron:300

Zakup:

Obecnie dostępne, na stanie.

Inne książki autora:

Błędy i kompromisy w oprogramowaniu: Jak podejmować dobre decyzje programistyczne - Software...
Zoptymalizuj decyzje, które definiują Twój kod,...
Błędy i kompromisy w oprogramowaniu: Jak podejmować dobre decyzje programistyczne - Software Mistakes and Tradeoffs: How to Make Good Programming Decisions

Prace autora wydały następujące wydawnictwa: