
Ваша оценкаРецензии
Аноним11 октября 2019 г.Не забудьте сказать всем, что это секрет.
Читать далееЭту книгу мне рекомендовал коллега. Конечно, добрался я до этой книги не сразу, но, поддавшись его хорошему отзыву, прочитал. И я вряд порекомендую эту книгу кому-нибудь: чего-то нового я узнал немного, а некоторые советы вызывают у меня скепсис. И никаких секретов здесь нет.
Сразу скажу, что я и в целом не любитель технической литературы из разряда cookbook'ов. С одной стороны, такие книги хороши для беглого просмотра, чтобы найти какие-то конкретные приемы, но читать их "от корки до корки" как обыкновенные книги практически невозможно. Ну и соответственно, они практически бесполезны, если ты даже не знаешь, что искать. С другой стороны - если читать "по диагонали", то можно пропустить что-то действтельно стоящее.
В этом плане книга "Секреты Python" неплоха: она дает не только сухую выжимку того, как делать правильно, но и предлагает контекст, объясняющий почему стоит делать именно так (хотя с этими выкладками тоже не всегда можно согласиться). Но к форме подачи материала у меня претензий, в принципе, нет. А вот содержание, как и "для кого написана эта книга", ряд вопросов вызывает.
Я вспоминаю проблемы, с которыми сталкивался, когда я только-только действительно учился писать на Python свои проекты и понимаю, что содержимое этой книги между моих ушей не задержалось бы. На мой взгляд, для совсем-совсем начинающих, для кого Python - первый язык программирования - эта книга не подойдет, особенно если рядом нет более опытных коллег. Некоторые вопросы разработки, или соглашения в коде, которые затрагиваются в "Секретах Python" - точно не для человека, который только начал программировать несколько месяцев назад. Кроме того, зачастую, многие соглашения или приемы в коде зависят от специфики конкретных проектов и команд или используемых технологий. Опять же, тогда это все можно узнать у команды, в том числе, почему были сделаны те или иные решения. Так что в этом книга новичку не помощник, хотя, без сомнения, найдутся и советы, подходящие неофиту.
Если же брать более опытных разработчиков относительно тех же рекомендаций - то, скорее всего, они и так всё это знают. Можно много спорить о том, насколько действительно работают подходы из разряда "чистый код", можно возразить, что знать и делать - это разные вещи. Но, как мне кажется, из реальной практики весь этот опыт замечательно кристаллизуется, даже если проектов было не очень много и они были несложными.
Ну и некоторые советы иначе как вредными я не назову.
Например, раздел про динамические импорты. В духе законов Мёрфи, я склонен считать, что если что-то может быть сделано неправильно, то оно будет сделано неправильно. И, технически, это будет работать, потому что интерпретатор это вам позволяет. С точки зрения того же PEP8 - официального соглашения по написанию кода на Python, так делать нельзя. Понятно, что перенести пару строк внутрь функции/метода практически всегда проще, чем отрефакторить неправильно разбитый модуль. Вероятность возвращения к этому вопросу после быстрого исправления, конечно, зависит от команды, и в целом равна вероятности встретить динозавра - либо исправят, либо нет. В то же время, динамические импорты - это отличный способ создать себе источник ошибок при дальнейшем развитии кодовой базы.
Или, целая глава посвящена метаклассам. В книге Fluent Python прекрасно объяснено, когда нужно ими пользоваться. Не могу не привети цитату Тима Питерса:
"Метаклассы – это магия, о которой 99% пользователей не стоит даже задумываться. Если вам интересно, нужны ли они вам – тогда точно нет. Люди, которым они на самом деле нужны, знают, зачем, и что с ними делать."И действительно, фреймворки пишут несравненно реже, чем прикладной код.
Наверное, популярные книги по психологии и кошелек Миллера меня совершенно разбаловали, но 59 рекомендаций - это странно. Странное число (почему не 60, почему не 57, почему не 100?), странное количество для запоминания. Но это я уже придираюсь.
Кроме формы подачи материала, хочу подчеркнуть ещё одно достоинство книги: она написана компактно. Поэтому с ней несложно ознакомиться за пару часов, даже если вы, как и я, читаете медленно. И после этого уже самостоятельно сделать вывод, какие рекомендации пробовать применить, если ранее вы их не использовали.
1302K
Аноним14 октября 2018 г.Как и "Чистый Python" — содержит советы и лучшие практики по кодингу на питоне. Книги не повторяют друг друга. Рассчитаны на тех, кто уже умеет программировать на питоне. На мой взгляд, все отлично написано, можно использовать как справочник.
Версия питона в издании — 3.4
0310