Kategorien
E-Books
-
Wirtschaft
- Bitcoin
- Geschäftsfrau
- Coaching
- Controlling
- E-Business
- Ökonomie
- Finanzen
- Börse und Investitionen
- Persönliche Kompetenzen
- Computer im Büro
- Kommunikation und Verhandlungen
- Kleines Unternehmen
- Marketing
- Motivation
- Multimedia-Training
- Immobilien
- Überzeugung und NLP
- Steuern
- Sozialpolitik
- Handbȕcher
- Präsentationen
- Führung
- Public Relation
- Berichte, Analysen
- Geheimnis
- Social Media
- Verkauf
- Start-up
- Ihre Karriere
- Management
- Projektmanagement
- Personal (HR)
-
Für Kinder
-
Für Jugendliche
-
Bildung
-
Enzyklopädien, Wörterbücher
-
E-Presse
- Architektura i wnętrza
- Biznes i Ekonomia
- Haus und Garten
- E-Business
- Finanzen
- Persönliche Finanzen
- Unternehmen
- Fotografie
- Informatik
- HR und Gehaltsabrechnung
- Computer, Excel
- Buchhaltung
- Kultur und Literatur
- Wissenschaftlich und akademisch
- Umweltschutz
- meinungsbildend
- Bildung
- Steuern
- Reisen
- Psychologie
- Religion
- Landwirtschaft
- Buch- und Pressemarkt
- Transport und Spedition
- Gesundheit und Schönheit
-
Geschichte
-
Informatik
- Office-Programme
- Datenbank
- Bioinformatik
- IT Branche
- CAD/CAM
- Digital Lifestyle
- DTP
- Elektronik
- Digitale Fotografie
- Computergrafik
- Spiele
- Hacking
- Hardware
- IT w ekonomii
- Wissenschaftliche Pakete
- Schulbücher
- Computergrundlagen
- Programmierung
- Mobile-Programmierung
- Internet-Server
- Computernetzwerke
- Start-up
- Betriebssysteme
- Künstliche Inteligenz
- Technik für Kinder
- Webmaster
-
Andere
-
Fremdsprachen lernen
-
Kultur und Kunst
-
Lektüre
-
Literatur
- Anthologien
- Ballade
- Biografien und Autobiografien
- Für Erwachsene
- Drama
- Tagebücher, Memoiren, Briefe
- Epos
- Essay
- Science Fiction
- Felietonys
- Fiktion
- Humor, Satire
- Andere
- Klassisch
- Krimi
- Sachbücher
- Belletristik
- Mity i legendy
- Nobelpreisträger
- Kurzgeschichten
- Gesellschaftlich
- Okultyzm i magia
- Erzählung
- Erinnerungen
- Reisen
- Gedicht
- Poesie
- Politik
- Populärwissenschaftlich
- Roman
- Historischer Roman
- Prosa
- Abenteuer
- Journalismus
- Reportage
- Romans i literatura obyczajowa
- Sensation
- Thriller, Horror
- Interviews und Erinnerungen
-
Naturwissenschaften
-
Sozialwissenschaften
-
Schulbücher
-
Populärwissenschaft und akademisch
- Archäologie
- Bibliotekoznawstwo
- Filmwissenschaft
- Philologie
- Polnische Philologie
- Philosophie
- Finanse i bankowość
- Erdkunde
- Wirtschaft
- Handel. Weltwirtschaft
- Geschichte und Archäologie
- Kunst- und Architekturgeschichte
- Kulturwissenschaft
- Linguistik
- Literaturwissenschaft
- Logistik
- Mathematik
- Medizin
- Geisteswissenschaften
- Pädagogik
- Lehrmittel
- Populärwissenschaftlich
- Andere
- Psychologie
- Soziologie
- Theatrologie
- Teologie
- Theorien und Wirtschaftswissenschaften
- Transport i spedycja
- Sportunterricht
- Zarządzanie i marketing
-
Handbȕcher
-
Spielanleitungen
-
Professioneller und fachkundige Leitfaden
-
Jura
- Sicherheit und Gesundheit am Arbeitsplatz
- Geschichte
- Verkehrsregeln. Führerschein
- Rechtswissenschaften
- Gesundheitswesen
- Allgemeines. Wissenskompendium
- akademische Bücher
- Andere
- Bau- und Wohnungsrecht
- Zivilrecht
- Finanzrecht
- Wirtschaftsrecht
- Wirtschafts- und Handelsrecht
- Strafrecht
- Strafrecht. Kriminelle Taten. Kriminologie
- Internationales Recht
- Internationales und ausländisches Recht
- Gesundheitsschutzgesetz
- Bildungsrecht
- Steuerrecht
- Arbeits- und Sozialversicherungsrecht
- Öffentliches, Verfassungs- und Verwaltungsrecht
- Familien- und Vormundschaftsrecht
- Agrarrecht
- Sozialrecht, Arbeitsrecht
- EU-Recht
- Industrie
- Agrar- und Umweltschutz
- Wörterbücher und Enzyklopädien
- Öffentliche Auftragsvergabe
- Management
-
Führer und Reisen
- Afrika
- Alben
- Südamerika
- Mittel- und Nordamerika
- Australien, Neuseeland, Ozeanien
- Österreich
- Asien
- Balkan
- Naher Osten
- Bulgarien
- China
- Kroatien
- Tschechische Republik
- Dänemark
- Ägypten
- Estland
- Europa
- Frankreich
- Berge
- Griechenland
- Spanien
- Niederlande
- Island
- Litauen
- Lettland
- Mapy, Plany miast, Atlasy
- Miniführer
- Deutschland
- Norwegen
- Aktive Reisen
- Polen
- Portugal
- Andere
- Russland
- Rumänien
- Slowakei
- Slowenien
- Schweiz
- Schweden
- Welt
- Türkei
- Ukraine
- Ungarn
- Großbritannien
- Italien
-
Psychologie
- Lebensphilosophien
- Kompetencje psychospołeczne
- zwischenmenschliche Kommunikation
- Mindfulness
- Allgemeines
- Überzeugung und NLP
- Akademische Psychologie
- Psychologie von Seele und Geist
- Arbeitspsychologie
- Relacje i związki
- Elternschafts- und Kinderpsychologie
- Problemlösung
- Intellektuelle Entwicklung
- Geheimnis
- Sexualität
- Verführung
- Aussehen ind Image
- Lebensphilosophien
-
Religion
-
Sport, Fitness, Diäten
-
Technik und Mechanik
Hörbücher
-
Wirtschaft
- Bitcoin
- Geschäftsfrau
- Coaching
- Controlling
- E-Business
- Ökonomie
- Finanzen
- Börse und Investitionen
- Persönliche Kompetenzen
- Kommunikation und Verhandlungen
- Kleines Unternehmen
- Marketing
- Motivation
- Immobilien
- Überzeugung und NLP
- Steuern
- Handbȕcher
- Präsentationen
- Führung
- Public Relation
- Geheimnis
- Social Media
- Verkauf
- Start-up
- Ihre Karriere
- Management
- Projektmanagement
- Personal (HR)
-
Für Kinder
-
Für Jugendliche
-
Bildung
-
Enzyklopädien, Wörterbücher
-
Geschichte
-
Informatik
-
Andere
-
Fremdsprachen lernen
-
Kultur und Kunst
-
Lektüre
-
Literatur
- Anthologien
- Ballade
- Biografien und Autobiografien
- Für Erwachsene
- Drama
- Tagebücher, Memoiren, Briefe
- Epos
- Essay
- Science Fiction
- Felietonys
- Fiktion
- Humor, Satire
- Andere
- Klassisch
- Krimi
- Sachbücher
- Belletristik
- Mity i legendy
- Nobelpreisträger
- Kurzgeschichten
- Gesellschaftlich
- Okultyzm i magia
- Erzählung
- Erinnerungen
- Reisen
- Poesie
- Politik
- Populärwissenschaftlich
- Roman
- Historischer Roman
- Prosa
- Abenteuer
- Journalismus
- Reportage
- Romans i literatura obyczajowa
- Sensation
- Thriller, Horror
- Interviews und Erinnerungen
-
Naturwissenschaften
-
Sozialwissenschaften
-
Populärwissenschaft und akademisch
- Archäologie
- Philosophie
- Wirtschaft
- Handel. Weltwirtschaft
- Geschichte und Archäologie
- Kunst- und Architekturgeschichte
- Kulturwissenschaft
- Literaturwissenschaft
- Mathematik
- Medizin
- Geisteswissenschaften
- Pädagogik
- Lehrmittel
- Populärwissenschaftlich
- Andere
- Psychologie
- Soziologie
- Teologie
- Zarządzanie i marketing
-
Handbȕcher
-
Professioneller und fachkundige Leitfaden
-
Jura
-
Führer und Reisen
-
Psychologie
- Lebensphilosophien
- zwischenmenschliche Kommunikation
- Mindfulness
- Allgemeines
- Überzeugung und NLP
- Akademische Psychologie
- Psychologie von Seele und Geist
- Arbeitspsychologie
- Relacje i związki
- Elternschafts- und Kinderpsychologie
- Problemlösung
- Intellektuelle Entwicklung
- Geheimnis
- Sexualität
- Verführung
- Aussehen ind Image
- Lebensphilosophien
-
Religion
-
Sport, Fitness, Diäten
-
Technik und Mechanik
Videokurse
-
Datenbank
-
Big Data
-
Biznes, ekonomia i marketing
-
Cybersicherheit
-
Data Science
-
DevOps
-
Für Kinder
-
Elektronik
-
Grafik / Video / CAX
-
Spiele
-
Microsoft Office
-
Entwicklungstools
-
Programmierung
-
Persönliche Entwicklung
-
Computernetzwerke
-
Betriebssysteme
-
Softwaretest
-
Mobile Geräte
-
UX/UI
-
Web development
-
Management
Podcasts
- E-Books
- Programmierung
- Python
- Czysty kod w Pythonie. Twórz wydajny i łatwy w utrzymaniu kod. Wydanie II
Details zum E-Book
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
- Titel: Czysty kod w Pythonie. Twórz wydajny i łatwy w utrzymaniu kod. Wydanie II
- Autor: Mariano Anaya
- Originaler Titel: Clean Code in Python: Develop maintainable and efficient code, 2nd Edition
- Übersetzung: Radosław Meryk
- ISBN: 978-83-283-8612-9, 9788328386129
- Veröffentlichungsdatum: 2022-03-22
- Format: E-book
- Artikelkennung: czyko2
- Verleger: Helion