Форматирование Python-кода
Python для начинающих » Общие вопросы python форматирование, 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.
А если вам нужны запчасти для Японских и других автомобилей – посетите джапан карс. Здесь вы найдете огромный ассортимент автозапчастей. Найти нужную деталь очень легко, можно выполнить поиск по номеру, посмотреть в каталоге или позвонить и вам помогут найти нужное. Если нужной запчасти не найдется, можно ее заказать и получить в кратчайшие сроки.