Как стать автором
Обновить

Пишем красивый код на Python для детей: как облегчить совместную работу

Уровень сложностиПростой
Время на прочтение6 мин
Количество просмотров7.6K
Всего голосов 12: ↑6 и ↓60
Комментарии21

Комментарии 21

Что это? Для кого это? Ну, то есть я понимаю, что статья — реклама «школы для детей», но для кого статья?
Кто пишет красивый код? Дети? Дети с нуля пишут

class Test():
def init(self) -> None:
pass

? Или взрослые пишут код, который читают дети?

Ограничивайте длину строки 79 символами.

В 2024-м? Правда?

В общем в статье безумная смесь тройки цитат из PEP8, стандартных клише-блоков «зачем детям python» и «где учить питон» и ссылка с рекламной кампанией на лендос.

Кто пишет красивый код? Дети? 

И такое дети с нуля пишут :) Разумеется, не на первом занятии, и не дошкольники, а подростки 12-14 лет. А вообще, сам код я привел в качестве примера насчет оформления, не больше.

В 2024-м? Правда?

Это общие рекомендации. Соблюдать их или нет – личное дело каждого разработчика. Гайд ориентирован на начинающих детей (а там такое в коде иногда творится, что лучше научить писать красиво, чем не научить – поверьте на слово).

А какие есть оправдания в 2024 писать больше 79 символов в строке?

Вот ДлинныеПеременные = ВынуждаютПисатьДлинныеСтроки()

А куча пробелов вокруг - это или большой моник, или экран в книжной ориентации.

код с настолько длинными строками - нечитаем

А насколько?

Для меня и дочери, строки длинной в 250-300 символов - не проблема. легко читаются.

Зато современный стиль, когда в функцию передаётся 3-5 именованных параметра, и каждый с новой строки - сбивает.

А когда ещё добавляются пустые строки, в глубине 4-6 уровня вложенности - дезориентирует.

А какой редактор\ide вы используете?

Я пользуюсь Гугловским Колабом.
Дочь учит VSCode.

Строка длиной 250-300 не может легко читаться по определению. 79 символов - действительно достаточно консервативное ограничение, обычно используют в полтора-два раза большее значение. Не помню, чтобы хоть где-то видел строки на 200+ симоволов.

На гитхабе 100 символов влезает во все визуализации изменений.

Я для себя попробовал умещаться в ~80 и оказалось что это не сложно.

Тем не менее, в исходниках самого пайтона есть строки длиной более 100 символов.

Для меня и дочери, строки длинной в 250-300 символов - не проблема


Шеей крутить не приходится когда в начало строки возвращаетесь.

, в глубине 4-6 уровня вложенности

У вас высокая цикломатическая сложность, такой код сложно читать и понимать. Это плохой код, не делайте так пожалуйста.

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

Там не все же строки такие.

-

Динамические массивы, контекст, ошибки, проверка наличия - они такие...

PEP8 с рекомендацией 79 — это от 2001-го года. С мотивацией

The limits are chosen to avoid wrapping in editors with the window width set to 80

Сейчас такие терминалы если и есть, то их почти никто не использует. Ну и 100%, что дети не будут писать код, который будут на них читать.

Современные мониторы — широкие, а не высокие. Дорого место по высоте, а не по ширине.

Лишние переносы там, где они по смыслу не нужны, только затрудняют чтение. Ширина 79 заставляет их использовать в декларациях функций, в длинных строках (там где 'blah-blah') и т.п. — там, где с ними хуже, чем без них.

А какие есть оправдания в 2024 писать больше 79 символов в строке?

классика боли - это работа за 13'' корпоративными ноутами и проводить diff-review изменений :)

Правильное форматирование

Я для себя эту проблему закрыл автоматическим форматером кода. Не мучайте детей PEP8, научите выполнять одну команду.

# Плохо - комментарий дублирует очевидную информацию
i = i + 1 # Увеличим значение переменной i на 1

# Хорошо - комментарий поясняет сложную логику
i = i + 1 # Увеличим значение переменной i на 1 (индексация начинается с 1)

Хорошо это когда плохо плюс пояснение другой строки с дублированием очевидной информации к ней.

По мне оба варианта плохи.

Лучше бы обучали: что такое requirements.txt и зачем он нужен. Как использовать venv и почему он обязан быть. Как работать с разными версиями Python. Как использовать standalone Python без установки.

Это уже ремесло, а не искуство. И без изучения "гитхаба" бесполезно.

Я помогал по знакомству детям знакомых по информатике в 8-м классе, учебник К.Ю Полякова - и вот там автора абсолютно не волнуют такие мелочи как грамотное форматирование кода или информативные имена переменных. Совершенно нормальным считается например использовать camelCase для переменных в python. Мне такой подход не близок - уверен, что куда лучше детям сразу показывать паттерны "красивого" программирования, не уверен, что стоит их от них требовать, но показывать точно стоит.

Люди что с вами не так - откуда столько негатива? Чел написал статью из которой можно взять полезное - да каждый на своём уровне. Я в 6 с половиной лет начал сборку компьютера Спектрум и к 7 годам доделал его - писал программы для него на бейсике и машинных годах. Если бы мне а те годы дали интернет и литературу как сейчас то я бы питон изучил в короткие сроки. С++ я изучал в автобусе - одна рука висела на поручне, а вторая держала книгу издательства Диалог-Мифи. Классы объектно-ориентированного программирования я изучал как только окончил школу ибо они только появились в нашей стране. А сейчас сами виноваты если вы не в теме - автор просто говорит о чистом коде - кто как Евангелие о котором знают все но не все исполняют хотя уже и одновременное затмение солнца и луны случилось обещанное Иисусом Христом на те годы когда Он вернётся. Автор говорит о технике программирования Солид - без которой ваш труд Мартышкин и получите Филькину грамоту, я сам это ощутил начав карьеру с джуниора когда моя программа перевалила за 450 строк и я вдруг забыл что там куда

Зарегистрируйтесь на Хабре, чтобы оставить комментарий