Быстрый в изучении - мощный в программировании
>> Telegram ЧАТ для Python Программистов

Свободное общение и помощь советом и решением проблем с кодом! Заходите в наш TELEGRAM ЧАТ!

>> Python Форум Помощи!

Мы создали форум где отвечаем на все вопросы связанные с языком программирования Python. Ждем вас там!

>> Python Канал в Telegram

Обучающие статьи, видео и новости из мира Python. Подпишитесь на наш TELEGRAM КАНАЛ!

Форматирование Python-кода

Форматирование python

CPhyton – самый популярный представитель Python не особо годится для выполнения разного рода быстрых расчетов, производительность слабовата. Зато читаемость у него великолепная, о чем мы и поговорим далее, а точнее о методах е увеличения.

Проблемы форматирования

Нет идеального варианта форматирования кода. В каждом языке есть свои особенности и общепринятые нормы, под которые нужно подстраиваться. В python больше всего трудностей в форматировании вызывает «С стиль». Многие приходят в python именно из языков вроде С, соответственно они привыкли писать ")(;". Но не в одних символах проблема, плохи дела еще и с избыточностью написания конструкций. У питона меньше слов, чем у Java, поэтому многим новичкам приходится долго привыкать. На данный момент – это две самые распространенные проблемы.

Стандарты и советы по оформлению

По правильному форматированию кода на python существует даже целый гайд – pep8. Дальше по тексту, будем называть его «стандарт». Почитать о нем на русском вы можете по ссылке http://pep8.ru/doc/pep8/. Он действительно очень обширный, с его помощью программист может сделать действительно читаемый код.

В него входят:

  • Максимальная длинна строчек кода и документации.
  • Рекомендации по правильному оформлению комментариев.
  • Кодировки файлов, содержащих исходный код.
  • Соглашения именования классов/функций, аргументов.
  • И еще много полезного.

По сути он охватывает очень много правил по форматированию кода. Но, пользуются этим стандартом не все, у многих другие предпочтения. У компаний вроде Google есть свои рекомендации, ознакомится с которыми вы можете по ссылкам http://habrahabr.ru/post/179271/ и http://habrahabr.ru/post/180509/.

Автоматизируем форматирование

Почитайте pep8, увидев сколько там правил, вы поймете, что для редактирования нужно ОЧЕНЬ много времени, делать это мало кому за хочется, да и в новом коде все равно будут проскакивать ошибки. Поэтому, есть более простой способ.

Чтобы узнать сколько в коде ошибок оформления понадобиться утилита pep8. Она довольно гибкая, позволяет проверить насколько соответствуют стандарту все файлы в разных папках. Выводит примерно такой результат:

$ pep8 --first optparse.py
optparse.py:69:11: E401 multiple imports on one line
optparse.py:77:1: E302 expected 2 blank lines, found 1
optparse.py:88:5: E301 expected 1 blank line, found 0
optparse.py:222:34: W602 deprecated form of raising exception
optparse.py:347:31: E211 whitespace before '('
optparse.py:357:17: E201 whitespace after '{'
optparse.py:472:29: E221 multiple spaces before operator
optparse.py:544:21: W601 .has_key() is deprecated, use 'in'

Часто одни и те же ошибки дублируются в многих файла. Можно исправить их автоматически – для этого есть утилита autopep8. Она ищет и исправляет ошибки. Пользоваться ей очень просто, вот пример:

$ autopep8 ./ --recursive --in-place -a

Эта команда запускает проверку файлов в папках и их исправление.

Можно воспользоваться еще и autofake. С помощью утилиты мы можем избавится от неиспользуемых переменных и импортов.

Редактирование кода завершается строками. Одни программисты предпочитают писать их в одиночных апострофах, другие в двойных. Это ладно, но под оба варианты есть стандарты и утилита, которая автоматически приведет код к ним – unify.

С кодом разобрались, теперь комментарии. Воспользуемся docformatter. Утилита правильно оформляет их, как документацию.

Все и сразу

Какого-то «комбайна» с этими всеми функциями нет. Но можно его сделать. К примеру, написать bash скрипт, дать ему магическое имя clean.bash и выполнять, когда нужно. Есть и другой вариант – wrapper над утилитами – pyformat.

А если вам нужны запчасти для Японских и других автомобилей – посетите джапан карс. Здесь вы найдете огромный ассортимент автозапчастей. Найти нужную деталь очень легко, можно выполнить поиск по номеру, посмотреть в каталоге или позвонить и вам помогут найти нужное. Если нужной запчасти не найдется, можно ее заказать и получить в кратчайшие сроки.

Оставьте комментарий!

Используйте нормальные имена.

Имя и сайт используются только при регистрации

Если вы уже зарегистрированы как комментатор или хотите зарегистрироваться, укажите пароль и свой действующий email. При регистрации на указанный адрес придет письмо с кодом активации и ссылкой на ваш персональный аккаунт, где вы сможете изменить свои данные, включая адрес сайта, ник, описание, контакты и т.д., а также подписку на новые комментарии.

(обязательно)