31

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

Ну что, давайте побеседуем. Есть вещи, с которыми я согласен, есть те, с которыми нет.

Да, пробелы нужно ставить вокруг оператора в данном случае по PEP8. Более того, в курсе ещё есть косяки и ошибки. Причина в том, что я не профессиональный python-разработчик, а именно учитель. Рабочий мой язык — JavaScript, я сайты делал. В олимпиадном движении по программированию использовал Pascal, последний год С++, но это было давно и это другое направление. Да и там не работал ни разу в профессиональной команде. Я учитель. Пробелов не хватает потому в данном случае, что я действительно забыл (до этого они были) и вспомнив «Дух» Pep8 решил, что тут лучше не ставить пробелы,  и подчеркнул это всё. PASS — да, зарезервированные слова использовать нельзя. И т.д. и т.п.

Чего вы не понимаете(похоже, чуть позже раскрою) — что ваши студенты и те, кого я учу — это люди очень разные. Я учил людей без способностей, я учил «блондинок». И курсов для начинающих ну более чем достаточно. Пока из того, что я прочитал у вас, похоже, что вы как раз профессиональный программист, и как у многих, у вас эффект знания задним числом. И вы не понимаете, насколько можно не понимать программирование. И насколько далеки могут быть от «нулевого»/«тупого» уровня реальные люди. Не те, кто студенты.

Да, эти все мелочи важны. Очень важны, но их много, и те, на кого я ориентируюсь, в них только так тонут. Почитайте отзывы на Ютубе. Там многие благодарят, что им наконец-то понятно объяснили. Вот почему код дублированый? Почему у меня два if, кода можно и нужно использовать else? Да потому что else ещё не изучили. Это будет отдельное занятие, посвящённое только оператору else. Сначала было занятие, где только if. Потом логические операторы — и в будущем я планирую разбить тему про логические операторы на НЕСКОЛЬКО частей. А после else отдельно занятие по elif. Поэтому у меня по int(), float() и str() отдельные занятия, если что. Я решил пока поставить так, и задания как раз такие, чтобы люди немного подмучались с тем, чтобы расписывать эти условия и обрадовались введению else. И поле каждой темы — практическое задание. И ко всему этому я не с бухты-барахты пришёл. Я обучаю программированию

Так что где-то я упрощаю специально, где-то что-то опускаю, а где-то забываюсь, ошибаюсь. Где-то перекомпановываю материал и даю else далеко не сразу. Я разбирался в маркетинге и продвижении, поэтому у меня ненулевое количество подписчиков. Я сознательно использовал Пикабу и дал курсу такое название. И поэтому у меня подписчиков и тут и на Ютубе больше, чем у вас. И знаете что?

Да я это рассказываю подписчикам. И вам вот написал. И постоянно советую им читать разные источники, разную литературу, советую курсы Тимофея Хирьянова, pythontutor, книги вроде «Укус Питона». Говорю, что после моего курса денег они не заработают. Говорю, что я вообще учитель и не профессиональный программист. И мой курс только для того, чтобы хотя бы как-то въехать и потом пройти нормальные курсы уже для профессиональной подготовки. Где уже всё изучат. Либо! Либо чтобы хоть как-то, немножко научились кодить на будущее. Чтобы если вдруг понадобится — смогли изучить и справиться. Всё в большем количестве профессий полезно иногда залезть в код и понять, где там параметры и поменять числа в них на какие-то подходящие, или пути к файлам поправить в сломанном проекте в формате XML.

А по поводу различных мелочей — я им такую информацию даю широко и максимально понятно. То есть, пишу, что если они хотят зарабатывать — им нужно не учить просто язык. А узнать, что от них будут хотеть коллеги, начальство и бизнес, и учиться делать это и так. А сюда как раз входят и владение базами данных/гитом, и умение писать чистый код, и тот факт, что в профессиональной разработке больше времени уходит не на написание, а на поддержку кода,  и ООП, которое при первом заходе на программирование многие не понимают, хотя программирование на Python без ООП... Ну понимаете.

Насчёт того, что важно СРАЗУ вставать на правильные рельсы — да ну вы чего, человек не может в циклы въехать и не понимает программирование, а куча профи-программистов говорит, ЧТО ИЗУЧАТЬ НАДО СРАЗУ ЯЗЫКИ СО СТАТИЧИСКОЙ ЯВНОЙ ТИПИЗАЦИЕЙ ЧТОБЫ СРАЗУ ПОНИМАТь — да не нужно и не надо сразу. И код не надо сразу. Тем, кто является моей целевой аудиторией. Я знаю людей, которые на паскале сначала писали код без отступов и вообще без форматирования, единым массивом — и ничего, потом сами же дошли до того, почему это важно и нужно, что без этого код фиг поймёшь. Я и сам со многого переучился. Сразу нужно начинать много-много кодить — это главное, нарабатывать практику. И с практикой уже многое можно понять и принять.

Хауди Хо — опять же, вы не понимаете. Хауди Хо для моей целевой аудитории слишком сложный и непонятный. Я же очень хорошо научился объяснять программирование, и курс этот — это вызов мой. Обучить тех, для кого остальные курсы для начинающих не подходят, слишком сложны.

Однако есть отдельные люди — люди со способностями, или люди уже достаточно образованные — это ваша аудитория. Им важно писать чистый код. Моей аудитории — им бы хоть как-то понять и хоть как-то начать программировать. После этого первичного курса обычно идёт какой-то перерыв. Потом какой-то процент людей возвращается к программированию, но уже на более серьёзном подходе.

Наши с вами аудитории — разные, цели у нас с вами — разные. И люди из вашей аудитории иногда тоже приходят в комментарии ко мне на Пикабу или в Ютуб, пишут мне своё «фе». Но вы не в курсе — вы не сильно же изучали концепцию курса, не спросили у меня сначала лично, начало опять же не посмотрели. Да и хотя бы урок, к которому домашка была.

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

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

Почему я так считаю? Потому что есть обратная связь от тех, кому остальные курсы не понятны. Я же писал, что отправляю на другие курсы, и на курсы Stepik в том числе для начинающих. И таки вот, кому-то понятно только у меня.

И да, я на вас подписан, как и на других программистов на Пикабу. И спокойно включу в список рекомендованной литературы, даже если продолжите столь агрессивно писать обо мне, но только не для начинающих, а для людей со способностями и тех, кто уже неплохо разбирается и пишет мне недовольно, что курс ужасный/медленный и т.д. Меня рекомендовать не обязаны :-)

Показать полностью 1
376

Ответ на пост «Программирование на Python "для тупых" 008.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, это хорошо, что вы хотите делиться знаниями и помогать людям в обучении. Дело благое. Но ради всего святого, пожалуйста, не учите новичков думать жопой и писать ногами. Потом очень сложно переучивать обратно. У вас видео под эгидой "для тупых" - без проблем. Но суть ведь в том, чтобы даже тупой смог научиться делать нормально, разве нет? В интернете и так уже хватает разных Хауди Хо. Давайте нормальный контент делать, полезный :)

Показать полностью 5
50

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

00:00 Введение

00:15 1 задание

04:53 2 задание

18:36 3 задание

27:15 4 задание

30:15 5 задание


Ссылочки на меня:

https://zen.yandex.ru/id/vrom1990

https://t.me/vrom1990pb

https://pikabu.ru/@vrom1990

https://archive.org/details/python-tupyh

https://vk.com/vrom1990pb

https://www.youtube.com/c/ВячеславРоманьков

Показать полностью
Отличная работа, все прочитано!

Темы

Политика

Теги

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

Сообщества

18+

Теги

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

Сообщества

Игры

Теги

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

Сообщества

Юмор

Теги

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

Сообщества

Отношения

Теги

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

Сообщества

Здоровье

Теги

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

Сообщества

Путешествия

Теги

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

Сообщества

Спорт

Теги

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

Сообщества

Хобби

Теги

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

Сообщества

Сервис

Теги

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

Сообщества

Природа

Теги

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

Сообщества

Бизнес

Теги

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

Сообщества

Транспорт

Теги

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

Сообщества

Общение

Теги

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

Сообщества

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

Теги

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

Сообщества

Наука

Теги

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

Сообщества

IT

Теги

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

Сообщества

Животные

Теги

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

Сообщества

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

Теги

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

Сообщества

Экономика

Теги

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

Сообщества

Кулинария

Теги

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

Сообщества

История

Теги

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

Сообщества