O'Reilly logo

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

Jak stać się lepszym programistą. Przewodnik

Book Description

Zawód programisty jak żaden inny wymaga ciągłego rozwoju, nauki i doskonalenia. Każdy dzień to nowe wyzwania, techniki programistyczne oraz kolejne linie wysokiej jakości kodu. Zastanawiasz się, co jeszcze możesz zrobić, aby stać się lepszym programistą? Chcesz zaimponować ciekawymi koncepcjami oraz wprowadzić znaczące ulepszenia w codziennej pracy? Trafiłeś na książkę, która sprawi, że Twój kod nabierze nowego blasku! Na kolejnych stronach tej książki przeczytasz o tym, jak powinien być sformatowany kod źródłowy, jakie stosować nazewnictwo oraz jak usuwanie zbędnego kodu wpływa na jego jakość. Nauczysz się odnajdywać błędy w kodzie i pisać dobre testy. Dowiesz się także, jak w pełni korzystać z możliwości systemu kontroli wersji. Książka ta jest obowiązkową lekturą dla każdego programisty ceniącego sobie ciągły rozwój, dążenie do doskonałości oraz tworzenie świetnego kodu!

Table of Contents

  1. okładka
  2. Prawa autorskie strony
  3. tytuł strony
  4. Recenzje książki Jak stać się lepszym programistą
  5. Spis treści
  6. Inne książki Pete’a Goodliffe’a
  7. Wprowadzenie
    1. Co znajdziesz w tej książce?
    2. Dla kogo przeznaczona jest ta książka?
    3. Struktura książki
    4. Uwagi dla mentorów
    5. Podziękowania
  8. Rozdział 1. Troska o jakość kodu
  9. Część I. ty.piszesz(kod);
    1. Rozdział 2. Utrzymywanie pozorów
      1. Prezentacja kodu jest bardzo ważna
      2. Ważne jest przekazywanie informacji
      3. Układ
      4. Nazwy
      5. Dobrze się zaprezentuj
      6. Wnioski
    2. Rozdział 3. Pisz mniej kodu!
      1. Dlaczego ma to znaczenie?
      2. Niedbała logika
      3. Powtórzenia
      4. Martwy kod
      5. Komentarze
      6. Wnioski
    3. Rozdział 4. Ulepszanie kodu przez jego usuwanie
      1. Folgowanie sobie przy pisaniu kodu
      2. Nie ma w tym nic wstydliwego — to nieuniknione
      3. I co z tego?
      4. Wyszukiwanie martwego kodu
      5. Chirurgiczne usuwanie
      6. Wnioski
    4. Rozdział 5. Duch minionego kodu bazowego
      1. Układ kodu
      2. Najnowsze rozwiązania
      3. Idiomy
      4. Decyzje projektowe
      5. Błędy
      6. Wnioski
    5. Rozdział 6. Odnajdowanie się w kodzie
      1. Z niewielką pomocą przyjaciół
      2. Szukaj wskazówek
      3. Nauka przez praktykę
      4. Wnioski
    6. Rozdział 7. Po uszy w bagnie
      1. Wyczuwaj oznaki problemów
      2. Wdepnięcie w bagno
      3. Z badań wynika, że...
      4. Praca po kolana w piachu
      5. Porządkowanie bałaganu
      6. Wprowadzanie poprawek
      7. Zły kod czy słabi programiści?
    7. Rozdział 8. Nie ignoruj tego błędu!
      1. Mechanizm
      2. Szaleństwo
      3. Ułatwianie wykrywania błędów
      4. Wnioski
    8. Rozdział 9. Oczekuj nieoczekiwanego
      1. Błędy
      2. Wątki
      3. Kończenie pracy programu
      4. Morał z tej historii
    9. Rozdział 10. Polowanie na błędy
      1. Kwestie ekonomiczne
      2. Odrobina prewencji
      3. Polowanie na błędy
      4. Błędy niemożliwe do odtworzenia
      5. Wnioski
    10. Rozdział 11. Czas na testy
      1. Po co przeprowadzać testy?
      2. Rodzaje testów
      3. Kiedy pisać testy?
      4. Kiedy należy uruchamiać testy?
      5. Co należy testować?
      6. Dobre testy
      7. Jak wygląda test?
      8. Struktura testów
      9. Żaden kod nie jest samotną wyspą
      10. Wnioski
    11. Rozdział 12. Radzenie sobie ze złożonością
      1. Kółka
      2. Analiza przypadku — zmniejszanie złożoności kółek
      3. Linie
      4. Ostatnie źródło — ludzie
      5. Wnioski
    12. Rozdział 13. Historia dwóch systemów
      1. Chaotyczne Metropolis
      2. Miasto Projektu
      3. I co z tego?
  10. Część II. Praktyka czyni mistrza
    1. Rozdział 14. Tworzenie oprogramowania to...
      1. To całe oprogramowanie
      2. Tworzenie oprogramowania to... nauka
      3. Tworzenie oprogramowania to... sport
      4. Tworzenie oprogramowania to... dziecięca zabawa
      5. Tworzenie oprogramowania to... przykry obowiązek
      6. Przeładowanie metaforami
    2. Rozdział 15. Zgodnie z regułami gry
      1. Potrzebujemy więcej reguł!
      2. Ustal reguły
    3. Rozdział 16. Zachowaj prostotę
      1. Proste projekty
      2. Proste wiersze kodu
      3. Zachowaj prostotę, ale bez głupot
      4. Założenia mogą prowadzić do komplikacji
      5. Unikaj przedwczesnej optymalizacji
      6. Wystarczająco proste
      7. Prosty wniosek
    4. Rozdział 17. Użyj głowy
      1. Nie bądź głupi
      2. Unikaj bezmyślności
      3. Masz prawo myśleć!
    5. Rozdział 18. Nic nie jest niezmienne
      1. Swobodnie wprowadzaj zmiany
      2. Zmień nastawienie
      3. Wprowadzaj zmiany
      4. Im więcej zmian...
    6. Rozdział 19. Ponowne wykorzystanie kodu
      1. Przypadek ponownego użycia nr 1. Technika kopiuj-wklej
      2. Przypadek ponownego użycia nr 2. Projektowanie z myślą o ponownym wykorzystaniu kodu
      3. Przypadek ponownego użycia nr 3. Zmieniaj zastosowanie i refaktoryzuj
      4. Przypadek ponownego użycia nr 4. Kup gotowe rozwiązanie lub wymyślaj koło od nowa
    7. Rozdział 20. Skuteczna kontrola wersji
      1. Nieużywany narząd zanika
      2. Wybierz dowolny system
      3. Przechowywanie odpowiednich rzeczy
      4. Dobrze korzystaj z systemu kontroli wersji
      5. Odgałęzienia — jak zobaczyć las spoza drzew?
      6. Dom dla kodu
      7. Wnioski
    8. Rozdział 21. Jak umieścić piłkę w bramce?
      1. Tworzenie oprogramowania — model liniowy
      2. Fałszywa dychotomia
      3. Napraw zespół, aby naprawić kod
      4. Udostępnianie wersji działowi kontroli jakości
      5. Otrzymywanie raportu o błędach
      6. Dzięki różnicom jesteśmy silniejsi
      7. Fragmenty układanki
    9. Rozdział 22. Ciekawy przypadek zamrożonego kodu
      1. Polowanie na zamrożony kod
      2. Nowe reguły
      3. Rodzaje zamrażania
      4. Wszystko dzięki odgałęzieniom
      5. Ale przecież kod wcale nie jest zamrożony!
      6. Długość okresu zamrożenia
      7. Poczuj chłód
      8. Koniec jest już blisko
      9. Unikanie zamrażania
      10. Wnioski
    10. Rozdział 23. Proszę o wydanie
      1. Część procesu
      2. Tryby w maszynie
      3. Udostępniaj szybko i często
      4. To jeszcze nie wszystko...
  11. Część III. Sprawy osobiste
    1. Rozdział 24. Żyj tak, aby kochać się uczyć
      1. Czego się uczyć?
      2. Uczenie się, jak się uczyć
      3. Modele uczenia się
      4. Uczenie się przez działanie
      5. Czego się nauczyłeś?
    2. Rozdział 25. Programiści sterowani testami
      1. Na drodze do celu
      2. Sukces prowadzi do samozadowolenia
      3. Czas testów
      4. Programiści sterowani testami
      5. Wnioski
    3. Rozdział 26. Zagustuj w wyzwaniach
      1. Liczy się motywacja
      2. Co jest dla Ciebie wyzwaniem?
      3. Nie rób tego!
      4. Szukaj wyzwań
      5. Wnioski
    4. Rozdział 27. Unikaj stagnacji
      1. Zainwestuj w umiejętności
      2. Ćwiczenie dla czytelnika
      3. Utrzymanie pracy
    5. Rozdział 28. Etyczny programista
      1. Nastawienie do kodu
      2. Kwestie prawne
      3. Nastawienie do ludzi
      4. Przysięga Hipokodesa
      5. Wnioski
    6. Rozdział 29. Miłość do języków
      1. Kochaj wszystkie języki
      2. Kochaj swój język
      3. Kultywowanie relacji z językiem
      4. Metafora doskonała?
      5. Wnioski
    7. Rozdział 30. Postawa programisty
      1. Podstawowa pozycja przy komputerze
      2. Zmęczenie oczu
      3. Wnioski
  12. Część IV. Doprowadzanie rzeczy do końca
    1. Rozdział 31. Pracuj mądrzej, a nie ciężej
      1. Wybieraj pola bitwy
      2. Strategie walki
      3. Wnioski
    2. Rozdział 32. Kiedy kod jest gotowy?
      1. Długo jeszcze?
      2. Programowanie od końca — dekompozycja
      3. Definiowanie, kiedy zadanie jest „gotowe”
      4. Po prostu to zrób
    3. Rozdział 33. Tym razem na pewno będzie dobrze...
      1. Programowanie na bezludnej wyspie
      2. Stałem u podnóża gór
  13. Część V. Kwestie międzyludzkie
    1. Rozdział 34. Presja społeczna
      1. Co robić?
      2. Prawdziwi eksperci
      3. Efekt doświadczenia
    2. Rozdział 35. Liczy się myślenie
      1. Rozszerzenie metafory
      2. Znaczenie odpowiedzialności
      3. Kod++
      4. Jak sprawić, aby to zadziałało?
      5. Wyznaczanie standardów
      6. Następne kroki
      7. Wnioski
    3. Rozdział 36. Komunikuj się!
      1. Kod to forma komunikacji
      2. Komunikacja międzyludzka
      3. Komunikacja w kontekście zespołów
      4. Rozmowy z klientami
      5. Inne obszary komunikacji
      6. Wnioski
    4. Rozdział 37. Manifesty
      1. Uniwersalny manifest tworzenia oprogramowania
      2. W porządku, w porządku
      3. Manifesty
      4. Poważnie?
      5. Puenta
    5. Rozdział 38. Oda do kodu
      1. Programowanie to problem ludzki
  14. Epilog
    1. Nastawienie
    2. Ruszaj do pisania kodu
  15. Skorowidz
  16. O autorze
  17. Kolofon
  18. Przypisy
    1. ROZDZIAŁ 2. Utrzymywanie pozorów
    2. ROZDZIAŁ 3. Pisz mniej kodu!
    3. ROZDZIAŁ 4. Ulepszanie kodu przez jego usuwanie
    4. ROZDZIAŁ 6. Odnajdowanie się w kodzie
    5. ROZDZIAŁ 7. Po uszy w bagnie
    6. ROZDZIAŁ 10. Polowanie na błędy
    7. ROZDZIAŁ 11. Czas na testy
    8. ROZDZIAŁ 13. Historia dwóch systemów
    9. ROZDZIAŁ 16. Zachowaj prostotę
    10. ROZDZIAŁ 20. Skuteczna kontrola wersji
    11. ROZDZIAŁ 21. Jak umieścić piłkę w bramce?
    12. ROZDZIAŁ 22. Ciekawy przypadek zamrożonego kodu
    13. ROZDZIAŁ 23. Proszę o wydanie
    14. ROZDZIAŁ 24. Żyj tak, aby kochać się uczyć
    15. ROZDZIAŁ 27. Unikaj stagnacji
    16. ROZDZIAŁ 29. Miłość do języków
    17. ROZDZIAŁ 30. Postawa programisty
    18. ROZDZIAŁ 31. Pracuj mądrzej, a nie ciężej
    19. ROZDZIAŁ 33. Tym razem na pewno będzie dobrze...
    20. ROZDZIAŁ 34. Presja społeczna
    21. ROZDZIAŁ 35. Liczy się myślenie
    22. ROZDZIAŁ 36. Komunikuj się!
    23. Epilog