The Art of Clean Code. Jak eliminować złożoność i pisać czysty kod - ebook
The Art of Clean Code. Jak eliminować złożoność i pisać czysty kod - ebook
Wielu adeptów kodowania ulega złudnemu przekonaniu, że opanowanie jakiegoś języka programowania wystarczy, aby być programistą. Nader często w pośpiechu piszą nieuporządkowany kod, który zawiera mnóstwo powtórzeń i jest kompletnie nieczytelny. Tymczasem prawdziwi mistrzowie programowania pracują inaczej: w pełni skupiają się na jednym aspekcie swojej pracy, efektywnie wykorzystują czas i tworzą kod o niewielkiej objętości, a przy tym czytelny, elegancki i łatwy w utrzymaniu.
Dzięki tej książce dowiesz się, w jaki sposób pisać czysty i w pełni funkcjonalny kod. Nauczysz się przy mniejszym nakładzie pracy uzyskiwać lepsze rezultaty, co pozwoli Ci przeznaczyć zaoszczędzony czas na dopracowanie istotniejszych elementów programu. Przekonasz się, że przemyślany minimalizm świetnie wspiera produktywność i znakomicie sprawdza się w praktyce. Dowiesz się, jak wykrywać źródła zbędnej złożoności i je eliminować, wyrobisz w sobie nawyk koncentrowania się na najważniejszych aspektach programu, a także docenisz zalety niezwykle prostych interfejsów użytkownika. Zrozumiesz, że optymalizacja nie musi oznaczać ograniczania użycia cykli procesora za wszelką cenę, a minimalizm i prostota świetnie się sprawdzają przy tworzeniu strategii projektu i wrażeń użytkownika.
Dowiedz się, jak:
- skoncentrować się na najważniejszych 20% kodu
- unikać samotnej pracy
- eliminować zbędną złożoność
- ustrzec się przedwczesnej optymalizacji
- osiągać produktywny stan przepływu
- w jednym czasie skupiać się na jednym zadaniu
- projektować proste i funkcjonalne interfejsy użytkownika
Oto dziewięć zasad tworzenia idealnego kodu - poznaj i stosuj!
Spis treści
Przedmowa
Podziękowania
Wprowadzenie
1. NEGATYWNY WPŁYW ZŁOŻONOŚCI NA PRODUKTYWNOŚĆ
- Czym jest złożoność?
- Złożoność cyklu życiowego projektu
- Planowanie
- Definiowanie
- Projektowanie
- Budowanie
- Testowanie
- Wdrażanie
- Złożoność w teorii oprogramowania i algorytmów
- Złożoność w nauce
- Złożoność w procesach
- Złożoność w życiu codziennym, czyli kara tysiąca cięć
- Podsumowanie
2. ZASADA 80/20
- Podstawy zasady 80/20
- Optymalizacja oprogramowania
- Produktywność
- Wskaźniki sukcesu
- Skupienie i rozkład Pareta
- Implikacje dla programistów
- Wskaźniki sukcesu programisty
- Rozkład Pareta w rzeczywistości
- Rozkład Pareta jest fraktalny
- Wskazówki praktyczne dotyczące zasady 80/20
- Zasoby
3. TWORZENIE PRODUKTU O MINIMALNEJ NIEZBĘDNEJ FUNKCJONALNOŚCI
- Problem
- Utrata motywacji
- Rozproszenie uwagi
- Praca na przestrzeni czasu
- Brak reakcji
- Błędne założenia
- Niepotrzebna złożoność
- Tworzenie produktu o minimalnej niezbędnej funkcjonalności
- Cztery filary konieczne podczas tworzenia produktu o minimalnej niezbędnej funkcjonalności
- Zalety produktu o minimalnej niezbędnej funkcjonalności
- Tryb tajny kontra produkt o minimalnej niezbędnej funkcjonalności
- Podsumowanie
4. TWORZENIE CZYSTEGO I PROSTEGO KODU
- Dlaczego należy tworzyć czysty kod?
- Tworzenie czystego kodu - zasady
- 1. Spójrz z szerszej perspektywy
- 2. Stań na ramionach olbrzymów
- 3. Twórz kod dla ludzi, nie dla urządzeń
- 4. Używaj odpowiednich nazw
- 5. Zachowaj spójność i zgodność ze standardami
- 6. Używaj komentarzy
- 7. Unikaj niepotrzebnych komentarzy
- 8. Zasada najmniejszego zaskoczenia
- 9. Nie powtarzaj się
- 10. Zasada pojedynczego celu
- 11. Testuj kod
- 12. Małe jest piękne
- 13. Prawo Demeter
- 14. Nie potrzebujesz tego
- 15. Nie używaj zbyt wielu poziomów wcięć
- 16. Używaj wskaźników
- 17. Zasada harcerza i refaktoryzacja
- Podsumowanie
5. PRZEDWCZESNA OPTYMALIZACJA JEST ŹRÓDŁEM WSZELKIEGO ZŁA
- Sześć typów przedwczesnej optymalizacji
- Optymalizacja funkcji kodu
- Optymalizacja funkcjonalności
- Optymalizacja planowania
- Optymalizacja skalowalności
- Optymalizacja projektu testów
- Optymalizacja kodu w podejściu zorientowanym obiektowo
- Przedwczesna optymalizacja - przykład
- Sześć podpowiedzi dotyczących poprawy wydajności działania
- Najpierw pomiar, później usprawnienia
- Pareto jest królem
- Korzyści z optymalizacji algorytmicznej
- Bufor ponad wszystko
- Mniej znaczy więcej
- Wiedzieć, kiedy skończyć
- Podsumowanie
6. PRZEPŁYW
- Czym jest przepływ?
- Jak osiągnąć przepływ?
- Jasno zdefiniowane cele
- Mechanizm informacji zwrotnych
- Równowaga między wyzwaniami i umiejętnościami
- Wskazówki dla programistów
- Podsumowanie
- Zasoby
7. "DOBRZE WYKONUJ JEDNO ZADANIE" I INNE ZASADY SYSTEMU UNIX
- Powstanie systemu UNIX
- Ogólne omówienie filozofii systemu UNIX
- 15 użytecznych zasad systemu UNIX
- 1. Każda funkcja powinna dobrze wykonywać jedno zadanie
- 2. Proste jest lepsze niż złożone
- 3. Małe jest piękne
- 4. Prototyp powinien być tworzony jak najwcześniej
- 5. Ważna jest przenośność, a nie efektywność
- 6. Dane należy przechowywać w jednorodnych plikach tekstowych
- 7. Należy wykorzystywać zalety dźwigni w oprogramowaniu
- 8. Należy unikać wewnętrznych interfejsów użytkownika
- 9. Każdy program powinien mieć postać filtru
- 10. Gorsze jest lepsze
- 11. Czysty kod jest lepszy od sprytniej działającego kodu
- 12. Programy powinny mieć możliwość łączenia się
- 13. Należy zapewnić niezawodność kodu
- 14. Należy naprawiać co się da oraz pozwalać na wczesne i widoczne awarie
- 15. Jeśli można, to należy opracowywać programy przeznaczone do tworzenia programów
- Podsumowanie
- Zasoby
8. W PROJEKTOWANIU MNIEJ ZNACZY WIĘCEJ
- Minimalizm w ewolucji telefonów komórkowych
- Minimalizm w wyszukiwaniu
- Material Design
- Jak przygotować projekt minimalistyczny?
- Używaj pustej przestrzeni
- Usunięcie elementów projektowych
- Usuwanie funkcjonalności
- Ograniczenie wariantów czcionek i liczby kolorów
- Zachowaj spójność
- Podsumowanie
- Zasoby
9. SKUPIENIE
- Broń przeciwko złożoności
- Zjednoczenie zasad
- Podsumowanie
List od autora
Kategoria: | Programowanie |
Zabezpieczenie: |
Watermark
|
ISBN: | 978-83-8322-065-9 |
Rozmiar pliku: | 5,8 MB |