Comments 23
При переводе 13 пункта (точнее, при написании перевода) – полностью потеряли суть. Не просто так там по-разному расставлены тире.
На википедии умудрились даже оригинал запороть...
Про эту пасхалку писали на Хабре, например здесь
Думаю, аналогичное английскому написание вполне подойдет, хотя и нарушает (намеренно) правила пунктуации:
There should be one-- and preferably only one --obvious way to do it.
Должен быть один— и желательно только один —очевидный способ сделать это.
Качественный код требует тестов.
Код питона в принципе требует тестов.
Статьи про питон, код которого может попасть в прод, наверное должны начинаться и заканчиваться тестом.
Если не в прод - то пофиг, если какая-то строчка в куче ваших файлов не работает - компиляции-то нет.
А куда делась компиляция? Или компиляция в байткод не считается и тогда в java и C# тоже компиляции нет?
Тогда и переводчики с русского на английский компилируют текст.
Трансляцией это называется
Странная претензия. Ну если быть таким же занудой, то даже в мои древние времена, когда мы писали свои бэйсики в качестве заданий, процесс перевода текста в промежуточное представление назывался предкомпиляцией. Не понятно откуда в русскоязычной литературе пошло, что компиляция это исключительно в машинный код. Я думаю Ахо с Ульманом достаточно авторитетные люди в этом вопросе? Так они в своей драконьей книги (2е изд. у меня) в самом первом же примере 1.1 пишут про: Java processor combine compilation and interpretation ... compiled into and intermediate form called bytecode... Да и ChatGPT так же считает, что трансляция это более общее понятие чем компиляция и интерпретация, а эта парочка частный случай соответственно. А переводчики переводят :) или транслируют, нет никакого противоречия т.к. используется общий термин. А так то они и компилируют и интерпретируют в зависимости от того как сильно меняют текст, в литературе встречаются оба эти термина.
Статической типизации нет, значит нет статических проверок контрактов, значит нужен костыль в виде BDSM "руководство по стилю". Ясно, понятно...
Заметьте, в других языках такого BDSM нету
Статической типизации нет, значит нет статических проверок контрактов, значит нужен костыль в виде BDSM "руководство по стилю"
в других языках такого нету
там где нет объемлющих гайдлайнов по стилю в стандарте языка (это кстати, в каком, например?), там будут жесткие корпоративные требования по стилю. Можете ознакомиться с вот таким документом, например: https://google.github.io/styleguide/cppguide.html
Статической типизации нет, значит нет статических проверок контрактов, значит нужен костыль
mypy вам в руки и тайпхинтинг - и будет у вас и статическая типизация, и статические проверки контрактов.
Я за 2 пробела, а не 4
Какие-то сплошные банальности для новичков. Делай красиво, не делай некрасиво.
Я-то думал, "чистый код" - это про иммутабельность и всё такое...
А тут - ну блин, даже тема генераторов как следует не раскрыта.
Да, в самом начале статьи я как раз и говорю о том, что я был бы рад прочитать данную статью будучи новичком. Это перевод. Хоть я и позволил себе некоторые вольности в виде дополнительных примеров и более подробного раскрытия некоторых тем - убирать темы автора или добавлять свои, мне показать излишним.
Спасибо за комментарий, в следующей статье я учту ваше замечание.
Тут больше про Code Style Guide, причем вполне конкретный и к вполне определенному языку, чтобы убрать всякую вкусовщину и чтобы код был хорошо читаемым и желательно во всей питонячей экосистеме выглядел единообразно. Хотя некоторые рекомендации и спорны, в частности по именованию переменных.
79 символов на строку.
Зачем тянуть этого динозавра из 80х ? Зажимая шифт легко скролятся по горизонтали длинные строки
Думаю, что здесь проблема не в отсутствии возможности скролинга по горизонтали, а в когнитивной сложности, которая возрастает при увеличении длины строки. Обычно, читать такой код удобнее.

к примеру вот мой код на питоне. Если я буду переносить строки на каждые 79 символов, код станет менее читаемым. При этом использовано всего 960 пикселей по ширине, из 1920 доступных. Я же не на телефоне программирую, зачем мне узкие колонки которые долго скролить по вертикале с худшей читаемостью кода, ради соблюдения каких-то стандартов прошлого века.
Всегда есть исключения, и важно понимать, что они будут всегда. Не стоит слепо следовать всем принципам и правилам, ваш код– отличный этому пример. Я согласен, что в текущем случае можно не упарываться делать переносы каждые 79 символов.
Я бы наверное разместил аргументы функции add на отдельных строках, но это сугубо вкусовщина.
Чистый код в Python