Czysty kod w Pythonie

Okładka książki Czysty kod w Pythonie
Sunil Kapil Wydawnictwo: Helion informatyka, matematyka
176 str. 2 godz. 56 min.
Kategoria:
informatyka, matematyka
Tytuł oryginału:
Clean Python: Elegant Coding in Python
Wydawnictwo:
Helion
Data wydania:
2020-05-19
Data 1. wyd. pol.:
2020-05-19
Liczba stron:
176
Czas czytania
2 godz. 56 min.
Język:
polski
ISBN:
9788328364622
Tłumacz:
Andrzej Watrak
Tagi:
informatyka komputery programowanie
Dodaj do pakietu
Dodaj do pakietu
Średnia ocen
4,3 4,3 / 10

Oceń książkę
i
Dodaj do biblioteczki

Porównaj ceny

i
Porównywarka z zawsze aktualnymi cenami
W naszej porównywarce znajdziesz książki, audiobooki i e-booki, ze wszystkich najpopularniejszych księgarni internetowych i stacjonarnych, zawsze w najlepszej cenie. Wszystkie pozycje zawierają aktualne ceny sprzedaży. Nasze księgarnie partnerskie oferują wygodne formy dostawy takie jak: dostawę do paczkomatu, przesyłkę kurierską lub odebranie przesyłki w wybranym punkcie odbioru. Darmowa dostawa jest możliwa po przekroczeniu odpowiedniej kwoty za zamówienie lub dla stałych klientów i beneficjentów usług premium zgodnie z regulaminem wybranej księgarni.
Za zamówienie u naszych partnerów zapłacisz w najwygodniejszej dla Ciebie formie:
• online
• przelewem
• kartą płatniczą
• Blikiem
• podczas odbioru
W zależności od wybranej księgarni możliwa jest także wysyłka za granicę. Ceny widoczne na liście uwzględniają rabaty i promocje dotyczące danego tytułu, dzięki czemu zawsze możesz szybko porównać najkorzystniejszą ofertę.
Poczekaj, szukamy dla Ciebie najlepszych ofert

Pozostałe księgarnie

Informacja

Reklama
Reklama

Podobne książki

Reklama

Oceny

Średnia ocen
4,3 / 10
6 ocen
Twoja ocena
0 / 10

OPINIE i DYSKUSJE

Sortuj:
avatar
390
156

Na półkach:

W samej książce jest dużo błędów, zarówno merytorycznych, jak i w kodzie. Autor myli argumenty z parametrami funkcji. Wartość domyślną parametrów nazywa kluczem. Jednak czarę goryczy przelało częste tłumaczenie autora czemu podejście A jest lepsze od podejścia B z perspektywy wyroczni. Jak można wmawiać czytelnikowi, że stosowanie namedTuple jest bardziej czytelne niż użycie podstawowych struktur danych. Prawie rzuciłem książką przy “przykładzie” dziedziczenia klas fruit i apple. 

Przykłady programistyczne pisane są chyba na kolanie. Zawierają literówki, odnośniki do nieistniejących zmiennych i funkcji. Chyba sam autor nie sprawdził ich w polecanych przez siebie IDE. 
 
Chyba najbardziej irytowało mnie powtarzanie tych samych treści w odstępie kilku stron (polecane biblioteki - pylint, opis OrderDict). Po prostu wyglądało to, jak dodawanie treści, bo było to dla autora korzystne. 

Co dobrego z książki wyniosłem. Utrwaliłem sobie stosowanie konceptów takich jak __init__ oraz __str__. Same pokazanie dekoratorów, było całkiem dobrze napisane. Bardzo ciekawy przykład programowania aspektowego, którego jeszcze nie widziałem na produkcji w aplikacjach napisanych w pythonie (np: pisząc klasy z metodą __call__ można przetrzymywać stan i robić walidację). 

Warto pamiętać o stosowaniu menadżera kontekstu “with”, gdyż zaoszczędzimy na tworzeniu bloków try i catch i zamyka on otwarte uchwyty do zasobów (np plików) 

W samej książce jest dużo błędów, zarówno merytorycznych, jak i w kodzie. Autor myli argumenty z parametrami funkcji. Wartość domyślną parametrów nazywa kluczem. Jednak czarę goryczy przelało częste tłumaczenie autora czemu podejście A jest lepsze od podejścia B z perspektywy wyroczni. Jak można wmawiać czytelnikowi, że stosowanie namedTuple jest bardziej czytelne niż...

więcej Pokaż mimo to

2
avatar
109
34

Na półkach:

Nie polecam nikomu, ta książka to typowy skok na kasę, który mało co tłumaczy, a u świeżego programisty może jeszcze zaszkodzić. Autor w ogóle nie szanuje czytelników, którzy za tę książkę przecież płacą. Jeżeli szukasz dobrej książki o pythonie to polecam "Python. Wprowadzenie" M. Lutz - dużo grubsza, ale bez błędów.

Przykładowy kod był pisany na kolanie i nikt nawet nie zadał sobie trudu sprawdzenia czy jest poprawny. Nie będę wypisywał wszystkich błędów które znalazłem, poniżej tylko kilka uwag.

Plusy:
- przyjazny wstęp do programowania asynchronicznego, ale to samo jest w internecie za darmo (chociażby dokumentacja biblioteki asyncio),
- w miarę dobrze wytłumaczone podstawy generatorów i iteratorów,

Minusy:
- rozdział 1 to skrót z PEP8, PEP8 jest za darmo, jest krótki i przejrzysty,
- rozdział o testach nic nie tłumaczy i nic z niego nie wynika: podane 2 biblioteki i tyle, na pierwszym lepszym blogu są bardziej szczegółowe informacje i również za darmo,
- autor wielokrotnie powtarza to samo, jakby na siłę zwiększał objętość. Naprawdę te 176 stron czyta się w 2 dni, bo tak mało jest treści,
- masa błędów w przykładach kodu (pomimo korekty merytorycznej), który po prostu w wielu wypadkach nie działa: literówki, pomylone warunki, błędnie zapisane funkcje/klasy, przykłady kodu nie będące przykładami tego, o czym autor pisze, itd, itp, często na raz. Poniżej podaję kilka, po 76-tej stronie dałem sobie spokój.

Błędy:
- str. 20 - wytłumaczenie punktu "Be consistent in return statements." z PEP8 wprowadza więcej bałaganu, sugeruje fatalne praktyki i współczuję każdemu, kto będzie musiał poprawić/modyfikować kod napisany w ten sposób,
- str. 22 - przykłady kodu z protokołem managera kontekstu, "poprawny" kod nie działa: metoda __enter__ nie zwraca self, a musi, skoro jest używana jako fabryka w instrukcji 'with .. as ..'; w bloku instrukcji 'with NewProtocol(host, port) as con' autor wywołuje metody instancji klasy NewProtocol jak zwykłe funkcje, podczas gdy powinien odnieść się do obiektu instancji 'con',
- str. 34, listing 1.27 - kod w odniesieniu do listingu 1.26, który robi dokładnie do samo, bo najprawdopodobniej został odwrócony warunek, zapisany wynik funkcji jest błędny, na co również zwrócił uwagę inny czytelnik na forum wydawcy,
- str. 51, listing 2.14, przykład użycia funkcji zip() w innej funkcji, błędy: zdeklarowanie zmiennej "users" i przypisanie do niej wartości, ale ta sama zmienna jest deklarowana 4 linijki niżej jako "users=[]", do funkcji zip przekazywane są argumenty "user_names" (nigdy nie zdeklarowana, ale miało to być chyba to pierwsze "users", i "user_salaries", również nie zdeklarowana, mamy za to "user_salary" (sic!) deklarowane w 2 linijce,
- str. 72, listing 3.18 - tu można zapisać kartkę a4. Odwołania do nieistniejących zmiennych, błędy w nazwach metod (inaczej nazywane, inaczej wywoływane), metody ponazywanie tak samo jak atrybuty, używanie metod w sposób niezgodny z ich przeznaczeniem i opisem (również wynika z kodu), cały przykład jest jednym wielkim błędem i masą wzajemnie się maskujących bugów,
- str. 76, listing 3.24 - wbrew temu co uważa autor NIE JEST to przykład klasy abstrakcyjnej. Jeżeli Fruit() ma być nadrzędną klasą abstrakcyjną dla Apple(), to Apple powinno być zadeklarowane jaki Apple(Fruit) - (a nie jest), a obiekt fruit stworzony jako instancja klasy Apple, a nie Fruit! Co to za klasa abstrakcyjna, skoro jest instancjonowana? Po co autor próbuje zainstancjonować klasę abstrakcyjną? Jeżeli ktoś nie zna tego pojęcia, to właśnie został wprowadzony w błąd. Co gorsza, opis tego co jest w kodzie wygląda tak, jakby autor mimo wszystko uważał, że to poprawne.

Jednym zdaniem: to, że ktoś to napisał i jeszcze chce za to pieniędzy jest po prostu śmieszne. Python ma ogromną społeczność, dużo rzetelniejsze i dokładniejsze informacje są na byle jakim darmowym blogu poświęconym Pythonowi. Strata czasu i pieniędzy, co i tak nie jest najgorsze - najgorsze jest wprowadzenie w błąd.

PS. Jeżeli ktoś szuka książki o podobnej tematyce sugeruję zainteresować się pozycją "Efektywny Python" Bretta Slatkina. Zacząłem ją czytać kilka dni po skończeniu "Czystego kodu" i muszę przyznać, że jest zdecydowanie obszerniejsza i dokładniejsza w treści, porusza praktycznie te same zagadnienia, ale dużo lepiej i dokładniej je tłumaczy, plus jak na razie natknąłem się tylko na drobne błędy wynikające z tłumaczenia kodu przed tłumacza (ale to częste w książkach Helionu).

Nie polecam nikomu, ta książka to typowy skok na kasę, który mało co tłumaczy, a u świeżego programisty może jeszcze zaszkodzić. Autor w ogóle nie szanuje czytelników, którzy za tę książkę przecież płacą. Jeżeli szukasz dobrej książki o pythonie to polecam "Python. Wprowadzenie" M. Lutz - dużo grubsza, ale bez błędów.

Przykładowy kod był pisany na kolanie i nikt nawet nie...

więcej Pokaż mimo to

2
avatar
191
177

Na półkach:

Tak jak autor napisał, mało jest książek o poprawnym pisaniu w Pythonie. Ta książka wypełnia tę lukę. Jednak, żeby źle pisać, trzeba umieć, jako tako programować. Więc ta pozycja jest raczej dla tych, co znają ten język. Nawet w minimalnym stopniu. Polecam

Tak jak autor napisał, mało jest książek o poprawnym pisaniu w Pythonie. Ta książka wypełnia tę lukę. Jednak, żeby źle pisać, trzeba umieć, jako tako programować. Więc ta pozycja jest raczej dla tych, co znają ten język. Nawet w minimalnym stopniu. Polecam

Pokaż mimo to

1
Reklama

Cytaty

Bądź pierwszy

Dodaj cytat z książki Czysty kod w Pythonie


Reklama
zgłoś błąd