Categories
Ebooks
-
Business and economy
- Bitcoin
- Businesswoman
- Coaching
- Controlling
- E-business
- Economy
- Finances
- Stocks and investments
- Personal competence
- Computer in the office
- Communication and negotiation
- Small company
- Marketing
- Motivation
- Multimedia trainings
- Real estate
- Persuasion and NLP
- Taxes
- Social policy
- Guides
- Presentations
- Leadership
- Public Relation
- Reports, analyses
- Secret
- Social Media
- Sales
- Start-up
- Your career
- Management
- Project management
- Human Resources
-
For children
-
For youth
-
Education
-
Encyclopedias, dictionaries
-
E-press
- Architektura i wnętrza
- Biznes i Ekonomia
- Home and garden
- E-business
- Finances
- Personal finance
- Business
- Photography
- Computer science
- HR & Payroll
- Computers, Excel
- Accounts
- Culture and literature
- Scientific and academic
- Environmental protection
- Opinion-forming
- Education
- Taxes
- Travelling
- Psychology
- Religion
- Agriculture
- Book and press market
- Transport and Spedition
- Healthand beauty
-
History
-
Computer science
- Office applications
- Data bases
- Bioinformatics
- IT business
- CAD/CAM
- Digital Lifestyle
- DTP
- Electronics
- Digital photography
- Computer graphics
- Games
- Hacking
- Hardware
- IT w ekonomii
- Scientific software package
- School textbooks
- Computer basics
- Programming
- Mobile programming
- Internet servers
- Computer networks
- Start-up
- Operational systems
- Artificial intelligence
- Technology for children
- Webmastering
-
Other
-
Foreign languages
-
Culture and art
-
School reading books
-
Literature
- Antology
- Ballade
- Biographies and autobiographies
- For adults
- Dramas
- Diaries, memoirs, letters
- Epic, epopee
- Essay
- Fantasy and science fiction
- Feuilletons
- Work of fiction
- Humour and satire
- Other
- Classical
- Crime fiction
- Non-fiction
- Fiction
- Mity i legendy
- Nobelists
- Novellas
- Moral
- Okultyzm i magia
- Short stories
- Memoirs
- Travelling
- Narrative poetry
- Poetry
- Politics
- Popular science
- Novel
- Historical novel
- Prose
- Adventure
- Journalism, publicism
- Reportage novels
- Romans i literatura obyczajowa
- Sensational
- Thriller, Horror
- Interviews and memoirs
-
Natural sciences
-
Social sciences
-
School textbooks
-
Popular science and academic
- Archeology
- Bibliotekoznawstwo
- Cinema studies
- Philology
- Polish philology
- Philosophy
- Finanse i bankowość
- Geography
- Economy
- Trade. World economy
- History and archeology
- History of art and architecture
- Cultural studies
- Linguistics
- Literary studies
- Logistics
- Maths
- Medicine
- Humanities
- Pedagogy
- Educational aids
- Popular science
- Other
- Psychology
- Sociology
- Theatre studies
- Theology
- Economic theories and teachings
- Transport i spedycja
- Physical education
- Zarządzanie i marketing
-
Guides
-
Game guides
-
Professional and specialist guides
-
Law
- Health and Safety
- History
- Road Code. Driving license
- Law studies
- Healthcare
- General. Compendium of knowledge
- Academic textbooks
- Other
- Construction and local law
- Civil law
- Financial law
- Economic law
- Economic and trade law
- Criminal law
- Criminal law. Criminal offenses. Criminology
- International law
- International law
- Health care law
- Educational law
- Tax law
- Labor and social security law
- Public, constitutional and administrative law
- Family and Guardianship Code
- agricultural law
- Social law, labour law
- European Union law
- Industry
- Agricultural and environmental
- Dictionaries and encyclopedia
- Public procurement
- Management
-
Tourist guides and travel
- Africa
- Albums
- Southern America
- North and Central America
- Australia, New Zealand, Oceania
- Austria
- Asia
- Balkans
- Middle East
- Bulgary
- China
- Croatia
- The Czech Republic
- Denmark
- Egipt
- Estonia
- Europe
- France
- Mountains
- Greece
- Spain
- Holand
- Iceland
- Lithuania
- Latvia
- Mapy, Plany miast, Atlasy
- Mini travel guides
- Germany
- Norway
- Active travelling
- Poland
- Portugal
- Other
- Russia
- Romania
- Slovakia
- Slovenia
- Switzerland
- Sweden
- World
- Turkey
- Ukraine
- Hungary
- Great Britain
- Italy
-
Psychology
- Philosophy of life
- Kompetencje psychospołeczne
- Interpersonal communication
- Mindfulness
- General
- Persuasion and NLP
- Academic psychology
- Psychology of soul and mind
- Work psychology
- Relacje i związki
- Parenting and children psychology
- Problem solving
- Intellectual growth
- Secret
- Sexapeal
- Seduction
- Appearance and image
- Philosophy of life
-
Religion
-
Sport, fitness, diets
-
Technology and mechanics
Audiobooks
-
Business and economy
- Bitcoin
- Businesswoman
- Coaching
- Controlling
- E-business
- Economy
- Finances
- Stocks and investments
- Personal competence
- Communication and negotiation
- Small company
- Marketing
- Motivation
- Real estate
- Persuasion and NLP
- Taxes
- Guides
- Presentations
- Leadership
- Public Relation
- Secret
- Social Media
- Sales
- Start-up
- Your career
- Management
- Project management
- Human Resources
-
For children
-
For youth
-
Education
-
Encyclopedias, dictionaries
-
History
-
Computer science
-
Other
-
Foreign languages
-
Culture and art
-
School reading books
-
Literature
- Antology
- Ballade
- Biographies and autobiographies
- For adults
- Dramas
- Diaries, memoirs, letters
- Epic, epopee
- Essay
- Fantasy and science fiction
- Feuilletons
- Work of fiction
- Humour and satire
- Other
- Classical
- Crime fiction
- Non-fiction
- Fiction
- Mity i legendy
- Nobelists
- Novellas
- Moral
- Okultyzm i magia
- Short stories
- Memoirs
- Travelling
- Poetry
- Politics
- Popular science
- Novel
- Historical novel
- Prose
- Adventure
- Journalism, publicism
- Reportage novels
- Romans i literatura obyczajowa
- Sensational
- Thriller, Horror
- Interviews and memoirs
-
Natural sciences
-
Social sciences
-
Popular science and academic
-
Guides
-
Professional and specialist guides
-
Law
-
Tourist guides and travel
-
Psychology
- Philosophy of life
- Interpersonal communication
- Mindfulness
- General
- Persuasion and NLP
- Academic psychology
- Psychology of soul and mind
- Work psychology
- Relacje i związki
- Parenting and children psychology
- Problem solving
- Intellectual growth
- Secret
- Sexapeal
- Seduction
- Appearance and image
- Philosophy of life
-
Religion
-
Sport, fitness, diets
-
Technology and mechanics
Videocourses
-
Data bases
-
Big Data
-
Biznes, ekonomia i marketing
-
Cybersecurity
-
Data Science
-
DevOps
-
For children
-
Electronics
-
Graphics/Video/CAX
-
Games
-
Microsoft Office
-
Development tools
-
Programming
-
Personal growth
-
Computer networks
-
Operational systems
-
Software testing
-
Mobile devices
-
UX/UI
-
Web development
-
Management
Podcasts
- Ebooks
- Programming
- Python
- Czysty kod w Pythonie. Twórz wydajny i łatwy w utrzymaniu kod. Wydanie II
E-book details
Popularność Pythona, ulubionego języka programistów i naukowców, stale rośnie. Jest on bowiem łatwy do nauczenia się: nawet początkujący programista może napisać działający kod. W efekcie, mimo że Python pozwala na pisanie kodu przejrzystego i prostego w konserwacji, zdarzają się przypadki kodu źle zorganizowanego, nieczytelnego i praktycznie nietestowalnego. Jedną z przyczyn tego stanu rzeczy jest tendencja niektórych programistów do pisania kodu bez czytelnej struktury. Zidentyfikowanie takich problemów i ich rozwiązywanie nie jest łatwym zadaniem.
Dzięki tej książce nauczysz się korzystać z kilku narzędzi służących do zarządzania projektami napisanymi w Pythonie. Dowiesz się, czym się charakteryzuje czysty kod i jakie techniki umożliwiają tworzenie czytelnego i wydajnego kodu. Przekonasz się, że do tego celu wystarczą standardowa biblioteka Pythona i zestaw najlepszych praktyk programistycznych. Opisano tu szczegóły programowania obiektowego w Pythonie wraz z zastosowaniem deskryptorów i generatorów. Zaprezentowano również zasady testowania oprogramowania i sposoby rozwiązywania problemów poprzez implementację wzorców projektowych w kodzie. Pokazano też, jak można podzielić monolityczną aplikację na mikrousługi, by otrzymać solidną architekturę aplikacji.
W książce między innymi:
- konfiguracja wydajnego środowiska programistycznego
- tworzenie zaawansowanych projektów obiektowych
- techniki eliminacji zdublowanego kodu i tworzenie rozbudowanych abstrakcji
- zastosowanie dekoratorów i deskryptorów
- skuteczna refaktoryzacja kodu
- budowa solidnej architektury opartej na czystym kodzie Pythona
Czysty kod w Pythonie. Tylko taki warto pisać!
- O autorze
- O recenzencie
- Przedmowa
- Dla kogo jest ta książka?
- Co zawiera ta książka?
- Jak najlepiej wykorzystać tę książkę?
- Pobieranie plików z przykładowym kodem
- Stosowane konwencje
- 1. Wprowadzenie, formatowanie kodu i narzędzia
- Wprowadzenie
- Znaczenie terminu czysty kod
- Znaczenie posiadania czystego kodu
- Kilka wyjątków
- Formatowanie kodu
- Przestrzeganie przewodnika stylu kodowania w projekcie
- Dokumentacja
- Komentarze do kodu
- Docstringi
- Adnotacje
- Czy adnotacje zastępują docstringi?
- Narzędzia
- Sprawdzanie spójności typów
- Ogólne sprawdzanie poprawności w kodzie
- Formatowanie automatyczne
- Konfiguracja automatycznych kontroli
- Podsumowanie
- Materiały referencyjne
- Wprowadzenie
- 2. Kod pythoniczny
- Indeksy i wycinki
- Tworzenie własnych sekwencji
- Menedżery kontekstu
- Implementacja menedżerów kontekstu
- Wyrażenia składane i wyrażenia przypisania
- Właściwości, atrybuty i różne typy metod obiektów
- Znaki podkreślenia w Pythonie
- Właściwości
- Tworzenie klas o bardziej zwartej składni
- Obiekty iterowalne
- Tworzenie obiektów iterowalnych
- Tworzenie sekwencji
- Obiekty kontenerowe
- Dynamiczne atrybuty obiektów
- Obiekty wywoływalne
- Podsumowanie metod magicznych
- Haczyki Pythona
- Mutowalne argumenty domyślne
- Rozszerzanie typów wbudowanych
- Krótkie wprowadzenie do kodu asynchronicznego
- Podsumowanie
- Materiały referencyjne
- Indeksy i wycinki
- 3. Ogólne cechy dobrego kodu
- Projektowanie według kontraktu
- Warunki wstępne
- Warunki końcowe
- Kontrakty pythoniczne
- Projektowanie według kontraktu wnioski
- Programowanie defensywne
- Obsługa błędów
- Podstawianie wartości
- Obsługa wyjątków
- Obsługa wyjątków na odpowiednim poziomie abstrakcji
- Nie ujawniaj śladów stosu użytkownikom końcowym
- Unikaj pustych bloków except
- Dołącz oryginalny wyjątek
- Używanie asercji w Pythonie
- Obsługa błędów
- Podział obowiązków
- Spójność i sprzężenie
- Akronimy
- DRY/OAOO
- YAGNI
- KIS
- EAFP/LBYL
- Dziedziczenie w Pythonie
- Kiedy zastosowanie dziedziczenia jest dobrą decyzją?
- Antywzorce dziedziczenia
- Wielokrotne dziedziczenie w Pythonie
- Kolejność rozwiązywania metod (MRO)
- Domieszki
- Argumenty funkcji i metod
- Jak działają argumenty funkcji w Pythonie?
- Jak argumenty są kopiowane do funkcji?
- Zmienna liczba argumentów
- Argumenty wyłącznie pozycyjne
- Argumenty wyłącznie kluczowe
- Liczba argumentów w funkcjach
- Argumenty funkcji a sprzężenia
- Sygnatury kompaktowych funkcji, które przyjmują zbyt wiele argumentów
- Jak działają argumenty funkcji w Pythonie?
- Uwagi końcowe dotyczące dobrych praktyk projektowania oprogramowania
- Ortogonalność w oprogramowaniu
- Strukturyzacja kodu
- Podsumowanie
- Materiały referencyjne
- Projektowanie według kontraktu
- 4. Zasady SOLID
- Zasada pojedynczej odpowiedzialności
- Klasa mająca zbyt wiele obowiązków
- Podział obowiązków
- Zasada otwarty-zamknięty
- Przykład zagrożeń dla utrzymania kodu w przypadku nieprzestrzegania zasady OCP
- Refaktoryzacja systemu obsługi zdarzeń w celu uzyskania rozszerzalności
- Rozbudowa systemu zdarzeń
- Końcowe przemyślenia na temat OCP
- Zasada podstawiania Liskov
- Wykrywanie problemów dotyczących zasady LSP za pomocą narzędzi
- Wykorzystanie narzędzia mypy do wykrywania nieprawidłowych sygnatur metod
- Wykrywanie niezgodnych sygnatur za pomocą programu pylint
- Bardziej subtelne przypadki naruszeń zasady LSP
- Uwagi na temat LSP
- Wykrywanie problemów dotyczących zasady LSP za pomocą narzędzi
- Segregacja interfejsów
- Interfejs, który dostarcza zbyt wiele
- Im mniejszy interfejs, tym lepiej
- Jak mały powinien być interfejs?
- Odwracanie zależności
- Przypadek sztywnych zależności
- Odwracanie zależności
- Wstrzykiwanie zależności
- Podsumowanie
- Bibliografia
- Zasada pojedynczej odpowiedzialności
- 5. Korzystanie z dekoratorów do usprawniania kodu
- Czym są dekoratory w Pythonie?
- Dekoratory funkcji
- Dekoratory klas
- Inne rodzaje dekoratorów
- Bardziej zaawansowane dekoratory
- Przekazywanie argumentów do dekoratorów
- Dekoratory z zagnieżdżonymi funkcjami
- Obiekty dekoratory
- Dekoratory z wartościami domyślnymi
- Dekoratory dla podprogramów
- Rozszerzona składnia dekoratorów
- Przekazywanie argumentów do dekoratorów
- Dobre zastosowania dla dekoratorów
- Dostosowywanie sygnatur funkcji
- Walidacja parametrów
- Śledzenie kodu
- Skuteczne dekoratory unikanie typowych błędów
- Zachowywanie danych o oryginalnym opakowanym obiekcie
- Obsługa skutków ubocznych w dekoratorach
- Nieprawidłowa obsługa skutków ubocznych w dekoratorze
- Dekoratory z pożądanymi skutkami ubocznymi
- Tworzenie dekoratorów, które będą działać dla każdego rodzaju obiektów
- Dekoratory a czysty kod
- Kompozycja zamiast dziedziczenia
- Zasada DRY z wykorzystaniem dekoratorów
- Dekoratory a podział odpowiedzialności
- Analiza dobrych dekoratorów
- Podsumowanie
- Bibliografia
- Czym są dekoratory w Pythonie?
- 6. Pełniejsze wykorzystywanie obiektów dzięki deskryptorom
- Pierwsze spojrzenie na deskryptory
- Oprzyrządowanie związane z deskryptorami
- Opis metod protokołu deskryptora
- Metoda get
- Metoda set
- Metoda delete
- Metoda set name
- Rodzaje deskryptorów
- Deskryptory niezwiązane z danymi
- Deskryptory danych
- Deskryptory w praktyce
- Zastosowanie deskryptorów
- Pierwsza próba. Bez użycia deskryptorów
- Implementacja idiomatyczna
- Zastosowanie deskryptorów
- Różne formy implementacji deskryptorów
- Problem współdzielonego stanu
- Dostęp do słownika obiektu
- Korzystanie ze słabych referencji
- Więcej uwag na temat deskryptorów
- Wielokrotne wykorzystanie kodu
- Alternatywa dla dekoratorów klas
- Analiza deskryptorów
- W jaki sposób Python wewnętrznie używa deskryptorów?
- Funkcje i metody
- Wbudowane dekoratory dla metod
- Gniazda
- Implementacja deskryptorów w dekoratorach
- W jaki sposób Python wewnętrznie używa deskryptorów?
- Uwagi końcowe na temat deskryptorów
- Interfejs deskryptorów
- Obiektowy projekt deskryptorów
- Adnotacje typów dla deskryptorów
- Podsumowanie
- Bibliografia
- Pierwsze spojrzenie na deskryptory
- 7. Generatory, iteratory i programowanie asynchroniczne
- Wymagania techniczne
- Tworzenie generatorów
- Pierwsze spojrzenie na generatory
- Wyrażenia generatorowe
- Idiomatyczne iteracje
- Idiomy iteracji
- Funkcja next()
- Korzystanie z generatora
- Itertools
- Upraszczanie kodu za pomocą iteratorów
- Powtarzające się iteracje
- Pętle zagnieżdżone
- Wzorzec Iterator w Pythonie
- Interfejs iteracji
- Obiekty sekwencji jako obiekty iterowalne
- Podprogramy
- Metody interfejsu generatora
- close()
- throw(typ_wyjątku[, wartość_wyjątku[, ślad_wyjątku]])
- send(wartość)
- Bardziej zaawansowane podprogramy
- Zwracanie wartości w podprogramach
- Delegowanie zadań do mniejszych podprogramów składnia yield from
- Najprostsze wykorzystanie składni yield from
- Przechwytywanie wartości zwracanej przez podgenerator
- Wysyłanie danych do podgeneratora i odbieranie ich stamtąd
- Metody interfejsu generatora
- Programowanie asynchroniczne
- Magiczne metody asynchroniczne
- Asynchroniczne menedżery kontekstu
- Inne metody magiczne
- Iteracja asynchroniczna
- Generatory asynchroniczne
- Magiczne metody asynchroniczne
- Podsumowanie
- Bibliografia
- 8. Testy jednostkowe i refaktoryzacja
- Zasady projektowania a testy jednostkowe
- Uwaga na temat innych form automatycznych testów
- Testy jednostkowe a zwinne wytwarzanie oprogramowania
- Testy jednostkowe a projektowanie oprogramowania
- Definiowanie granic testowania
- Narzędzia testowania
- Frameworki i biblioteki do testów jednostkowych
- unittest
- Testy sparametryzowane
- pytest
- Proste przypadki testowe dla modułu pytest
- Testy sparametryzowane
- Fikstury
- Pokrycie kodu testami
- Konfigurowanie modułu do badania pokrycia kodu testami
- Zastrzeżenia do pokrycia kodu testami
- Obiekty mock
- Ostrzeżenie przed łataniem i obiektami mock
- Korzystanie z obiektów mock
- unittest
- Frameworki i biblioteki do testów jednostkowych
- Refaktoryzacja
- Ewolucje kodu
- Kod produkcyjny nie jest jedynym, który ewoluuje
- Więcej o testowaniu
- Testowanie oparte na właściwościach
- Testowanie mutacji
- Typowe motywy w testowaniu
- Wartości graniczne
- Klasy równoważności
- Przypadki brzegowe
- Krótkie wprowadzenie do techniki TDD
- Podsumowanie
- Bibliografia
- Zasady projektowania a testy jednostkowe
- 9. Typowe wzorce projektowe
- Zagadnienia dotyczące wzorców projektowych w Pythonie
- Wzorce projektowe w praktyce
- Wzorce kreacyjne
- Fabryki
- Singleton i Stan współdzielony (Monostat)
- Stan współdzielony (Monostat)
- Wzorzec Borga
- Budowniczy
- Wzorce strukturalne
- Adapter
- Kompozyt
- Dekorator
- Fasada
- Wzorce behawioralne
- Łańcuch odpowiedzialności
- Metoda szablonowa
- Polecenie
- Stan
- Wzorce kreacyjne
- Pusty obiekt
- Końcowe przemyślenia dotyczące wzorców projektowych
- Wpływ zastosowania wzorców na projekt
- Wzorce projektowe jako teoria
- Nazwy w modelach
- Podsumowanie
- Bibliografia
- 10. Czysta architektura
- Od czystego kodu do czystej architektury
- Podział odpowiedzialności
- Aplikacje monolityczne a mikrousługi
- Abstrakcje
- Komponenty oprogramowania
- Pakiety
- Zarządzanie zależnościami
- Inne problemy dotyczące zarządzania zależnościami
- Wersje artefaktów
- Kontenery Docker
- Przypadek użycia
- Kod
- Modele domen
- Wywoływanie z aplikacji
- Adaptery
- Usługi
- Analiza
- Przepływ zależności
- Ograniczenia
- Testowalność
- Ujawnianie intencji
- Pakiety
- Podsumowanie
- Bibliografia
- Podsumowanie końcowe
- Od czystego kodu do czystej architektury
- Title: Czysty kod w Pythonie. Twórz wydajny i łatwy w utrzymaniu kod. Wydanie II
- Author: Mariano Anaya
- Original title: Clean Code in Python: Develop maintainable and efficient code, 2nd Edition
- Translation: Radosław Meryk
- ISBN: 978-83-283-8612-9, 9788328386129
- Date of issue: 2022-03-22
- Format: Ebook
- Item ID: czyko2
- Publisher: Helion