Категорії
Електронні книги
-
Бізнес та економіка
- Біткойн
- Ділова жінка
- Коучинг
- Контроль
- Електронний бізнес
- Економіка
- Фінанси
- Фондова біржа та інвестиції
- Особисті компетенції
- Комп'ютер в офісі
- Комунікація та переговори
- Малий бізнес
- Маркетинг
- Мотивація
- Мультимедійне навчання
- Нерухомість
- Переконання та НЛП
- Податки
- Соціальна політика
- Порадники
- Презентації
- Лідерство
- Зв'язки з громадськістю
- Звіти, аналізи
- Секрет
- Соціальні засоби комунікації
- Продаж
- Стартап
- Ваша кар'єра
- Управління
- Управління проектами
- Людські ресурси (HR)
-
Для дітей
-
Для молоді
-
Освіта
-
Енциклопедії, словники
-
Електронна преса
- Architektura i wnętrza
- Biznes i Ekonomia
- Будинок та сад
- Електронний бізнес
- Фінанси
- Особисті фінанси
- Бізнес
- Фотографія
- Інформатика
- Відділ кадрів та оплата праці
- Комп'ютери, Excel
- Бухгалтерія
- Культура та література
- Наукові та академічні
- Охорона навколишнього середовища
- Впливові
- Освіта
- Податки
- Подорожі
- Психологія
- Релігія
- Сільське господарство
- Ринок книг і преси
- Транспорт та спедиція
- Здоров'я та краса
-
Історія
-
Інформатика
- Офісні застосунки
- Бази даних
- Біоінформатика
- Бізнес ІТ
- CAD/CAM
- Digital Lifestyle
- DTP
- Електроніка
- Цифрова фотографія
- Комп'ютерна графіка
- Ігри
- Хакування
- Hardware
- IT w ekonomii
- Наукові пакети
- Шкільні підручники
- Основи комп'ютера
- Програмування
- Мобільне програмування
- Інтернет-сервери
- Комп'ютерні мережі
- Стартап
- Операційні системи
- Штучний інтелект
- Технологія для дітей
- Вебмайстерність
-
Інше
-
Іноземні мови
-
Культура та мистецтво
-
Шкільні читанки
-
Література
- Антології
- Балада
- Біографії та автобіографії
- Для дорослих
- Драми
- Журнали, щоденники, листи
- Епос, епопея
- Нарис
- Наукова фантастика та фантастика
- Фельєтони
- Художня література
- Гумор, сатира
- Інше
- Класичний
- Кримінальний роман
- Нехудожня література
- Художня література
- Mity i legendy
- Лауреати Нобелівської премії
- Новели
- Побутовий роман
- Okultyzm i magia
- Оповідання
- Спогади
- Подорожі
- Оповідна поезія
- Поезія
- Політика
- Науково-популярна
- Роман
- Історичний роман
- Проза
- Пригодницька
- Журналістика
- Роман-репортаж
- Romans i literatura obyczajowa
- Сенсація
- Трилер, жах
- Інтерв'ю та спогади
-
Природничі науки
-
Соціальні науки
-
Шкільні підручники
-
Науково-популярна та академічна
- Археологія
- Bibliotekoznawstwo
- Кінознавство / Теорія кіно
- Філологія
- Польська філологія
- Філософія
- Finanse i bankowość
- Географія
- Економіка
- Торгівля. Світова економіка
- Історія та археологія
- Історія мистецтва і архітектури
- Культурологія
- Мовознавство
- літературні студії
- Логістика
- Математика
- Ліки
- Гуманітарні науки
- Педагогіка
- Навчальні засоби
- Науково-популярна
- Інше
- Психологія
- Соціологія
- Театральні студії
- Богослов’я
- Економічні теорії та науки
- Transport i spedycja
- Фізичне виховання
- Zarządzanie i marketing
-
Порадники
-
Ігрові посібники
-
Професійні та спеціальні порадники
-
Юридична
- Безпека життєдіяльності
- Історія
- Дорожній кодекс. Водійські права
- Юридичні науки
- Охорона здоров'я
- Загальне, компендіум
- Академічні підручники
- Інше
- Закон про будівництво і житло
- Цивільне право
- Фінансове право
- Господарське право
- Господарське та комерційне право
- Кримінальний закон
- Кримінальне право. Кримінальні злочини. Кримінологія
- Міжнародне право
- Міжнародне та іноземне право
- Закон про охорону здоров'я
- Закон про освіту
- Податкове право
- Трудове право та законодавство про соціальне забезпечення
- Громадське, конституційне та адміністративне право
- Кодекс про шлюб і сім'ю
- Аграрне право
- Соціальне право, трудове право
- Законодавство Євросоюзу
- Промисловість
- Сільське господарство та захист навколишнього середовища
- Словники та енциклопедії
- Державні закупівлі
- Управління
-
Путівники та подорожі
- Африка
- Альбоми
- Південна Америка
- Центральна та Північна Америка
- Австралія, Нова Зеландія, Океанія
- Австрія
- Азії
- Балкани
- Близький Схід
- Болгарія
- Китай
- Хорватія
- Чеська Республіка
- Данія
- Єгипет
- Естонія
- Європа
- Франція
- Гори
- Греція
- Іспанія
- Нідерланди
- Ісландія
- Литва
- Латвія
- Mapy, Plany miast, Atlasy
- Мініпутівники
- Німеччина
- Норвегія
- Активні подорожі
- Польща
- Португалія
- Інше
- Росія
- Румунія
- Словаччина
- Словенія
- Швейцарія
- Швеція
- Світ
- Туреччина
- Україна
- Угорщина
- Велика Британія
- Італія
-
Психологія
- Філософія життя
- Kompetencje psychospołeczne
- Міжособистісне спілкування
- Mindfulness
- Загальне
- Переконання та НЛП
- Академічна психологія
- Психологія душі та розуму
- Психологія праці
- Relacje i związki
- Батьківство та дитяча психологія
- Вирішення проблем
- Інтелектуальний розвиток
- Секрет
- Сексуальність
- Спокушання
- Зовнішній вигляд та імідж
- Філософія життя
-
Релігія
-
Спорт, фітнес, дієти
-
Техніка і механіка
Аудіокниги
-
Бізнес та економіка
- Біткойн
- Ділова жінка
- Коучинг
- Контроль
- Електронний бізнес
- Економіка
- Фінанси
- Фондова біржа та інвестиції
- Особисті компетенції
- Комунікація та переговори
- Малий бізнес
- Маркетинг
- Мотивація
- Нерухомість
- Переконання та НЛП
- Податки
- Порадники
- Презентації
- Лідерство
- Зв'язки з громадськістю
- Секрет
- Соціальні засоби комунікації
- Продаж
- Стартап
- Ваша кар'єра
- Управління
- Управління проектами
- Людські ресурси (HR)
-
Для дітей
-
Для молоді
-
Освіта
-
Енциклопедії, словники
-
Історія
-
Інформатика
-
Інше
-
Іноземні мови
-
Культура та мистецтво
-
Шкільні читанки
-
Література
- Антології
- Балада
- Біографії та автобіографії
- Для дорослих
- Драми
- Журнали, щоденники, листи
- Епос, епопея
- Нарис
- Наукова фантастика та фантастика
- Фельєтони
- Художня література
- Гумор, сатира
- Інше
- Класичний
- Кримінальний роман
- Нехудожня література
- Художня література
- Mity i legendy
- Лауреати Нобелівської премії
- Новели
- Побутовий роман
- Okultyzm i magia
- Оповідання
- Спогади
- Подорожі
- Поезія
- Політика
- Науково-популярна
- Роман
- Історичний роман
- Проза
- Пригодницька
- Журналістика
- Роман-репортаж
- Romans i literatura obyczajowa
- Сенсація
- Трилер, жах
- Інтерв'ю та спогади
-
Природничі науки
-
Соціальні науки
-
Науково-популярна та академічна
-
Порадники
-
Професійні та спеціальні порадники
-
Юридична
-
Путівники та подорожі
-
Психологія
- Філософія життя
- Міжособистісне спілкування
- Mindfulness
- Загальне
- Переконання та НЛП
- Академічна психологія
- Психологія душі та розуму
- Психологія праці
- Relacje i związki
- Батьківство та дитяча психологія
- Вирішення проблем
- Інтелектуальний розвиток
- Секрет
- Сексуальність
- Спокушання
- Зовнішній вигляд та імідж
- Філософія життя
-
Релігія
-
Спорт, фітнес, дієти
-
Техніка і механіка
Відеокурси
-
Бази даних
-
Big Data
-
Biznes, ekonomia i marketing
-
Кібербезпека
-
Data Science
-
DevOps
-
Для дітей
-
Електроніка
-
Графіка / Відео / CAX
-
Ігри
-
Microsoft Office
-
Інструменти розробки
-
Програмування
-
Особистісний розвиток
-
Комп'ютерні мережі
-
Операційні системи
-
Тестування програмного забезпечення
-
Мобільні пристрої
-
UX/UI
-
Веброзробка, Web development
-
Управління
Подкасти
- Електронні книги
- Програмування
- Python
- Czysty kod w Pythonie. Twórz wydajny i łatwy w utrzymaniu kod. Wydanie II
Деталі електронної книги
Czysty kod w Pythonie. Twórz wydajny i łatwy w utrzymaniu kod. Wydanie II
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
- Назва: Czysty kod w Pythonie. Twórz wydajny i łatwy w utrzymaniu kod. Wydanie II
- Автор: Mariano Anaya
- Оригінальна назва: Clean Code in Python: Develop maintainable and efficient code, 2nd Edition
- Переклад: Radosław Meryk
- ISBN: 978-83-283-8612-9, 9788328386129
- Дата видання: 2022-03-22
- Формат: Eлектронна книга
- Ідентифікатор видання: czyko2
- Видавець: Helion