Zrozumieć oprogramowanie. O prostocie kodu i doskonaleniu warsztatu programisty

31.81

Opis

W codziennej praktyce programiści często muszą sobie radzić z coraz większą złożonością tworzonego kodu. Mnożą się błędy, a ryzyko spektakularnej porażki rośnie. Jeśli ten scenariusz dotyczy także Ciebie, poziom złożoności Twoich projektów Cię przytłacza i czujesz, że nie dajesz rady, już teraz wdróż fundamentalne reguły, dzięki którym Twój kod odzyska prostotę i niezawodność! Jeśli każdy dzień z nowym projektem Cię rozczarowuje i przestałeś wierzyć w swoje możliwości, sięgnij po tę książkę!Max Kanat-Alexander, odpowiedzialny za dział Code Health w Google, w tym świetnym zbiorze esejów dzieli się mnóstwem trafnych spostrzeżeń dotyczących zasad programowania, złożoności kodu, pracy zespołowej i filozofii projektowania aplikacji. W książce pokazano bardzo różnorodne zagadnienia, od pisania prostego kodu aż po jego debugowanie i pogłębioną analizę. Dowiesz się także, jaka postawa charakteryzuje naprawdę dobrego programistę. Świeżość spojrzenia i znakomity styl autora sprawią, że tę książkę przeczytasz z przyjemnością. Wiedza techniczna i poziom ekspertyzy przyniosły mu status guru kodu, a jego pomysły zainspirują Cię i odświeżą Twoje podejście do wyzwań związanych z byciem deweloperem. Odzyskaj radość ze swojej pracy i zapomnij o porażkach!Ta książka skłoni Cię do przemyśleń:dlaczego prostota i precyzja są najważniejsze w tworzeniu koduczym jest mistrzowskie programowaniejak poradzić sobie ze złożonością oprogramowaniaskąd się biorą porażki programistów i jak ich unikaćjak się ma prostota do bezpieczeństwa aplikacjiczym są błędy i jak należy rozumieć debugowanieZłożoność jest głupia. Prostota jest mądra.Spis treści:Przedmowa 11CZĘŚĆ PIERWSZA. ZASADY DLA PROGRAMISTÓWRozdział 1. Zanim zaczniesz… 17Będziesz to robić, więc rób to dobrze 18Rozdział 2. Postawa inżyniera 21Rozdział 3. Niezwykła tajemnica programisty gwiazdora 25Rozdział 4. Projekt oprogramowania w dwóch sentencjach 29CZĘŚĆ DRUGA. ZŁOŻONOŚĆ OPROGRAMOWANIA I JEJ PRZYCZYNY 31Rozdział 5. Wskazówki dotyczące nadmiernej złożoności 33Rozdział 6. Drogi do stworzenia złożoności. Zepsuj swoje API 35Rozdział 7. Kiedy wsteczna kompatybilność nie jest warta swojej ceny? 39Rozdział 8. Złożoność to więzienie 43CZĘŚĆ TRZECIA. PROSTOTA I PROJEKTOWANIE OPROGRAMOWANIA 45Rozdział 9. Projektuj od początku 47Ruszając dobrą drogą 48Rozdział 10. Dokładność przyszłych przewidywań 49Rozdział 11. Prostota i precyzja 53Rozdział 12. Dwa to za dużo 57Refaktoryzacja 58Rozdział 13. Rozsądny projekt oprogramowania 61Zła droga 62Analiza złej drogi 64Odnosząc to do grupy 65Dobra droga 66Przestrzegaliśmy praw tworzenia oprogramowania 69CZĘŚĆ CZWARTA. DEBUGOWANIE 71Rozdział 14. Czym jest bug? 73Sprzęt 74Rozdział 15. Źródło błędów 75Spotęgowana złożoność 76Rozdział 16. Spraw, by to nie powróciło 79Spraw, by to nigdy nie powróciło – przykład 80W głąb króliczej nory 84Rozdział 17. Fundamentalna filozofia debugowania 85Wyjaśnij błąd 87Patrz na system 88Znajdź prawdziwą przyczynę 89Cztery kroki 90CZĘŚĆ PIĄTA. INŻYNIERIA W ZESPOŁACH 93Rozdział 18. Efektywna produktywność inżynierii 95Co powinieneś zrobić? 97Rozwiązanie 98Wiarygodność i rozwiązywanie problemów 100Blocker 101Zmierzając w stronę podstawowego problemu 103Rozdział 19. Mierząc produktywność dewelopera 107Definicja „produktywności” 108Czemu nie „linie kodu”? 108Określając prawidłowy wskaźnik 110A co, jeśli Twoim produktem jest kod? 111A co z ludźmi, którzy pracują nad produktywnością deweloperów? 111Wniosek 113Rozdział 20. Jak radzić sobie ze złożonością kodu w firmie programistycznej 115Krok pierwszy – lista problemów 117Krok drugi – spotkanie 117Krok trzeci – raport błędów 118Krok czwarty – priorytetyzacja 119Krok piąty – zadanie 120Krok szósty – planowanie 121Rozdział 21. W refaktoryzacji chodzi o funkcjonalności 123Być efektywnym 124Ustalając granice refaktoryzacji 127Refaktoryzacja nie marnuje czasu, ona go oszczędza 128Refaktoryzacja aż do jasności 128Podsumowanie 130Rozdział 22. Życzliwość i kodowanie 131Oprogramowanie to ludzie 131Przykład uprzejmości 132Bądź miły i twórz lepsze oprogramowanie 134Rozdział 23. Społeczność open source, w uproszczeniu 135Utrzymanie współtwórców 136Usuwając bariery 142Zainteresować ludzi 145Miej superpopularny produkt 146Miej produkt napisany w popularnym języku programowania 146Podsumowanie 147CZĘŚĆ SZÓSTA. ROZUMIEĆ OPROGRAMOWANIE 149Rozdział 24. Czym jest komputer? 151Rozdział 25. Komponenty oprogramowania: struktura, akcja i wynik 155Rozdział 26. Oprogramowanie na nowo: (I)SAR wyjaśnione 157Struktura 158Akcja 159Wyniki 159ISAR w pojedynczej linii kodu 160Podsumowując SAR 161Rozdział 27. Oprogramowanie jako wiedza 163Rozdział 28. Cel technologii 167Czy są jakieś kontrprzykłady tej zasady? 168Czy postęp technologiczny jest „dobry”? 168Rozdział 29. Prywatność, w uproszczeniu 171Prywatność przestrzeni 171Prywatność informacji 173Podsumowanie prywatności 177Rozdział 30. Prostota i bezpieczeństwo 179Rozdział 31. Test-Driven Development i cykl obserwacji 183Przykłady ODA 184Proces wytwarzania i produktywność 185Pierwsza ODA 187Rozdział 32. Filozofia testowania 189Wartość testu 190Asercje testu 190Granice testu 191Założenia testu 191Projekt testu 192Testowanie end to end 192Testy integracyjne 194Testy jednostkowe 195Rzeczywistość 196Podróbki 197Determinizm 199Prędkość 200Pokrycie 202Wniosek – ogólny cel testowania 202CZĘŚĆ SIÓDMA. MNIEJ DAWAĆ CIAŁA 203Rozdział 33. Tajemnica sukcesu: mniej dawać ciała 205Dlaczego to zadziałało? 206Rozdział 34. Jak odkryliśmy, co dawało ciała 209Rozdział 35. Potęga „nie” 213Rozpoznawanie złych pomysłów 215Nie mając lepszego pomysłu 215Wyjaśnienie, akceptacja i uprzejmość 217Rozdział 36. Dlaczego programiści dają ciała 219Czego się uczyć 222Rozdział 37. Sekret szybkiego programowania: przestań myśleć 225Zrozumienie 226Rysowanie 227Rozpoczynanie 228Pomijanie kroku 229Problemy fizyczne 229To, co rozprasza 230Zwątpienie w siebie 230Fałszywe pomysły 231Zastrzeżenie 231Rozdział 38. Pycha dewelopera 233Rozdział 39. Spójność nie oznacza jednolitości 235Rozdział 40. Użytkownicy mają problemy, deweloperzy mają rozwiązania 237Zaufanie i informacja 238Problemy pochodzą od użytkowników 238Rozdział 41. Natychmiastowa gratyfikacja = natychmiastowa porażka 241Rozwiązania na dłuższą metę 242Jak zniszczyć firmę tworzącą oprogramowanie 243Rozdział 42. Sukces bierze się z wykonania, nie z innowacji 245Rozdział 43. Oprogramowanie doskonałe 2471. Robi dokładnie to, co użytkownik mu polecił do wykonania 2482. Zachowuje się dokładnie tak, jak użytkownik oczekuje, że się zachowa 2493. Nie blokuje użytkownika przed komunikowaniem jego intencji 250Doskonałość jest istotniejsza (ale nie w konflikcie) od prostoty kodu 252Skorowidz 253O autorze: Max Kanat-Alexander zaczął naprawiać komputery jako ośmiolatek, a jako nastolatek był już całkiem sprawnym programistą. Jako główny architekt pracował nad projektem Bugzilla, obecnie, jako technical lead, odpowiada za dział Code Health w Google. Jest też autoremfedorafaq.org. W społeczności programistów jest uważany za guru kodowania — dzięki imponującej wiedzy, wnikliwości i wielkiej życzliwości dla innych. Obecnie mieszka w północnej Kalifornii.

Informatyka

pracownika wzór wypowiedzenia umowy o pracę, debno pl, stawki vat od lipca 2020, karolina pawłowska wiek, rękodzieło rzeczy z drewna, jak nazwać firmę budowlaną, praca w niedziele jaka stawka, poznan oslo, książka środków trwałych, darmowawitamina, ile kosztują papierosy na lotnisku 2022, green electricity, jaka siec wybrac, odliczenie podatku vat

yyyyy