376

Ответ на пост «Программирование на Python "для тупых" 008.2 Проверяем домашку»2

Наткнулся я вчера вот на этот пост. И так как сам постоянно провожу код-ревью у студентов, то стало интересно посмотреть на то, как другие проводят код-ревью на Пикабу. В общем...

В первых же минутах видео автор радостно создаёт константу с именем PASS. Не, я всё понимаю: Python различает регистр имён, pass и PASS - это физически разные вещи, код рабочий. Но использование зарезервированного слова в качестве имени объекта - ну за это же по рукам нужно бить, а не поощрять такое и не называть это правильным решением.


Начинается всё с PASS = '123456', потом появляется type = 'simple' и min = 5, и вот мы уже создали свой маленький уютный адочек в репозитории, в котором кроме нас самих никто никогда не разберётся. Дебажить такой код будет очень весело.


Никогда (!) и ни за что (!) не используйте зарезервированные слова в качестве названий своих объектов. На то они и зарезервированные, в общем-то. Можно нижнее подчёркивание в конец добавить, если уж сильно приспичит: `type_`, `min_`.

PEP8

На 11-й минуте гордо звучит фраза "Всё по PEP8". А вот и сам код, который "по PEP8":

Возможно, где-то в параллельной вселенной есть свой PEP8, которому этот код полностью соответствует.

К сожалению, в той вселенной, в которой мы с вами живём, данный код не имеет буквально никакого отношения к стандарту PEP8, в частности, вот к этому его разделу.


Про имя blacklist, в котором содержится не список записей, а логическое значение, я даже не буду ничего говорить. Кто читал предыдущие посты, тот сам прекрасно поймёт, в чём здесь проблема.

not

"Оператор not ожидает, что справа у него будет True или False".


Всё бы здорово, вот только это неправда. Операндом у not может быть любой объект. Он приводится к логическому типу, затем полученное булево значение инвертируется. Примеры использования: not name, где name является строкой, not data, где data - это список...

Дублирование кода

Вот тут у меня окончательно сгорела жопа и дальше смотреть видео я уже не смог. Шла 12-я минута из 41.


Автор называет это "правильным решением" и учит писать код именно так. Я даже не буду разбирать проблему подробнее, но думаю, что многие из тех, кто изучает Python хотя бы 2-3 месяца, смогут легко написать в комментариях, почему такой код писать нельзя.

А почему так припекло?

Да потому, что начальный этап обучения программированию очень важен. На нём закладываются фундаментальные знания, формируются зачатки алгоритмического мышления. И когда кто-то учит людей с самого начала писать лютый говнокод, настойчиво пропихивая это как корректное и правильное решение, у меня возникает лишь 1 мысль:

@vrom1990, это хорошо, что вы хотите делиться знаниями и помогать людям в обучении. Дело благое. Но ради всего святого, пожалуйста, не учите новичков думать жопой и писать ногами. Потом очень сложно переучивать обратно. У вас видео под эгидой "для тупых" - без проблем. Но суть ведь в том, чтобы даже тупой смог научиться делать нормально, разве нет? В интернете и так уже хватает разных Хауди Хо. Давайте нормальный контент делать, полезный :)

Правила сообщества

Публиковать могут пользователи с любым рейтингом. Однако!


Приветствуется:

• уважение к читателям и авторам

• конструктивность комментариев

• простота и информативность повествования

• тег python2 или python3, если актуально

• код публиковать в виде цитаты, либо ссылкой на специализированный сайт


Не рекомендуется:

• допускать оскорбления и провокации

• распространять вредоносное ПО

• просить решить вашу полноценную задачу за вас

• нарушать правила Пикабу

Темы

Политика

Теги

Популярные авторы

Сообщества

18+

Теги

Популярные авторы

Сообщества

Игры

Теги

Популярные авторы

Сообщества

Юмор

Теги

Популярные авторы

Сообщества

Отношения

Теги

Популярные авторы

Сообщества

Здоровье

Теги

Популярные авторы

Сообщества

Путешествия

Теги

Популярные авторы

Сообщества

Спорт

Теги

Популярные авторы

Сообщества

Хобби

Теги

Популярные авторы

Сообщества

Сервис

Теги

Популярные авторы

Сообщества

Природа

Теги

Популярные авторы

Сообщества

Бизнес

Теги

Популярные авторы

Сообщества

Транспорт

Теги

Популярные авторы

Сообщества

Общение

Теги

Популярные авторы

Сообщества

Юриспруденция

Теги

Популярные авторы

Сообщества

Наука

Теги

Популярные авторы

Сообщества

IT

Теги

Популярные авторы

Сообщества

Животные

Теги

Популярные авторы

Сообщества

Кино и сериалы

Теги

Популярные авторы

Сообщества

Экономика

Теги

Популярные авторы

Сообщества

Кулинария

Теги

Популярные авторы

Сообщества

История

Теги

Популярные авторы

Сообщества