Найти в Дзене

Чистый код на Python

Совсем не очевидная штука, когда только начинаешь изучать программирование, что помимо написания рабочего кода, тебе надо ещё соблюдать его чистоту. Что это и зачем это? Когда я только начинал изучать Python, просмотрел несколько мнений о языке. Одним из плюсов был красивый код, а точнее обязательные отступы в теле цикла, условного оператора или функции. Эта особенность мне понравилась, но я ошибочно решил, что этого достаточно. Изучать я начал с самоучителя, по шаблону которого и писал свой код. К сожалению, в их примерах не было чистого кода, поэтому у меня не возникло никаких подозрений. Дальше из теории начал знакомиться с книгой "Основы программирования на языке Python" Д. Златопольского. Вот там уже был код, отчасти написанный по правилам. Как позднее узнал я, имя этим правилам PEP8. Бессознательно я начал повторять за способом написания программ из книги, и мой код начал меняться. Под одной из моих статей месячной давности появился комментарий, что мой код выглядит очень плохо

Совсем не очевидная штука, когда только начинаешь изучать программирование, что помимо написания рабочего кода, тебе надо ещё соблюдать его чистоту. Что это и зачем это?

Ответ на вопрос зачем в одной картинке. =)
Ответ на вопрос зачем в одной картинке. =)

Когда я только начинал изучать Python, просмотрел несколько мнений о языке. Одним из плюсов был красивый код, а точнее обязательные отступы в теле цикла, условного оператора или функции. Эта особенность мне понравилась, но я ошибочно решил, что этого достаточно.

Изучать я начал с самоучителя, по шаблону которого и писал свой код. К сожалению, в их примерах не было чистого кода, поэтому у меня не возникло никаких подозрений. Дальше из теории начал знакомиться с книгой "Основы программирования на языке Python" Д. Златопольского. Вот там уже был код, отчасти написанный по правилам. Как позднее узнал я, имя этим правилам PEP8. Бессознательно я начал повторять за способом написания программ из книги, и мой код начал меняться.

Под одной из моих статей месячной давности появился комментарий, что мой код выглядит очень плохо. А так же появился совет использовать линтеры ("Линтеры — инструменты, контролирующие оформление кода в проекте.") То есть не учить наизусть все правила PEP8, а использовать программы. И с этим у меня есть проблема.

Код месячной давности.=)
Код месячной давности.=)

Для того, чтобы использовать линтеры, надо пользоваться современной средой разработки. Но я уже два месяца пользуюсь стандартным IDLE, поэтому, в силу своего характера, всячески сопротивляюсь переходу на PyCharm. О нем я впервые услышал на курсах GeekBrains, но установил только два дня назад. И сразу возникла проблема с установкой библиотеки, так что временно опять вернулся к стандартному варианту.

Ещё одна проблема, которая свойственна мне в любых языках программирования - это наименование переменных. Мои имена переменных непонятны без объяснений, в примере на картинке это видно. Сейчас я стараюсь это исправлять. =)

Ну и в конце совет тем, кто только начинает изучать Python:

Начинайте писать код сразу в популярной среде разработки. Можно пару дней пользоваться стандартным IDLE или писать на онлайн-интерпретаторах, но потом лучше выбрать инструмент помощнее. Изучите способ использования линтеров. Изучайте книги, а не любительские самоучители. Воспользуйтесь курсом от Stepik, там ваш код проверяется не только на результат работы, но и выводятся сообщения о нарушениях PEP8. Пробуйте давать переменным понятные имена, чтобы приучить себя к этому сразу.

Сам я тоже постараюсь последовать, пусть и с опозданием, своим советам. Удачи вам в изучении программирования!