-
Notifications
You must be signed in to change notification settings - Fork 25
PEP8 #39
Comments
И вообще хотелось бы больше комментариев в коде, хотя бы для функций/методов, потому что не всегда с наскоку понятно, что вообще происходит. |
По поводу именования переменных: Рекомендуется их делать не кемелом, а lower-case с подчеркиваниями. |
@ernado, По поводу именования переменных: меня устраивает текущий вид. Задумано так: константы, задаваемые в конфиге (USER_LIMIT, THREADING_STACK_SIZE, и т.д.) должны быть upper-case с подчеркиванием, а остальные в UpperCamelCase. Насчёт комментариев: не думал, что это кому-то интересно. Буду комментировать. |
@mrDoctorWho Константы, ясное дело, должны быть upper case, но не очень ясен выбор UpperCamelCase. Он же уже для имен классов используется, возникает неодозначность. W601 .has_key() is deprecated, use ‘in’ тоже можно исправлять? В итоге: |
Он был больше, я переместил обработчики событий в «handlers/». Насчёт размера я согласен, но ничего не поделать. Если у вас есть какие мысли — готов их выслушать.
Дело вкуса, мне лично нравится. Можете кинуть в меня камень, но я согласен не со всеми пунктами PEP8. Для меня важна красота и оптимизация кода (пусть даже кое-где с этим не очень).
Да, конечно, исправляйте. |
|
Благодаря игнорированию E401 у вас куча ненужных импортов и их неоднородность. У вас в gateway.py вообще ничего не импортируется из внутренних модулей, а используется хак с окружением. Вы импортируете logger, а в gateway почему-то логируете через print. Используете threading, но не хотите переходить на python3 или хотя бы поддерживать его, хотя в нем улучшен GIL. Пожалуй, я пока не буду трогать gateway, а начну понемногу проходиться по небольшим внутренним подулям, стараясь не сломать обратную совместимость. Кстати, если уж в проекте используется не-pep8 стиль кода, пожалуйста, оформите его в гайдлайн, чтобы я мог оформлять код по вашим правилам. |
По поводу camelcase - в коде испольуются стандартные модули python, а они почти все написаны с соблюдением pep8. Получается смешивание стилей именования. В проекте полностью нарушена структура кода. |
дело не в E401, а в том, что я выпиливал часть кода, но забыл убрать модули.
Разве у меня не так?
В общем-то да. А у вас есть какие-то идеи по этому поводу?
Где?
Боюсь мне не удастся стандартизовать свой код. Для начала придётся привести весь gateway.py в один стиль. |
Это скорее косвенная причина. Когда импорты каждый на новой строчке, легче найти лишний, чем в простом списке. Да и убрать лишний можно просто удалением строчки. Минусы, вроде увеличения количества кода есть.
Редко, но не так. Проблема в другом. Например, в gateway импорт-секция вообще смешана с кодом, хотя порядок импорта практически соблюден Кстати, для удобного цитирования можете применять
Чтобы разметка не ломалась, нужны пропуски строчек.
Пока что не очень очевидно лишь использование UpperCamel для констант, остальное более-менее понятно.
print "#! Incorrect launch!"
# хотя такого мало. Это бы лучше в logger.critical("Incorrect launch") ?
...
try:
execfile(Config)
Print("#-# Config loaded successfully.")
except:
Print("#-# Config file doesn't exists.")
exit()
# и прочие вызовы Print(), Которая, насколько я понимаю, пишет не в логгер а в stdout, еще почему-то в UpperCamel и не понятно, чем отличается от print по названию По поводу структурыПростро приведу несколько примеров того, почему структуры как таковой нет: sys.path.insert(0, "library")
reload(sys).setdefaultencoding("utf-8")
# ...
from itypes import Database
from webtools import *
from writer import *
from stext import *
from stext import _
# в extensions:
require("attachments")
# Как сделать очевиднее: from vk4xmpp.library.itypes import * (хотя это и не очень хорошо) from library.itypes import * Но все равно придется что-то делать с pythonpath. По поводу имен для модулейIQ.py, vkApi.py и writer.py, например, испольуют сразу три вида именования. |
Исправление E128 с помощью табов невозможно, придется игнорировать Какой смысл использовать табы, если вы выравниваете списки пробелами? |
print "#! Incorrect launch!"
# хотя такого мало. Это бы лучше в logger.critical("Incorrect launch") ? нет, не лучше. Очень маловероятно, что на данном этапе кто-то полезет в лог. |
Дичайше поддерживаю затею с пробельной индентацией. |
@mrDoctorWho @aawray |
В пользу табов согласен выпилить выравнивание пробелами. |
W191 indentation contains tabs
E501 line too long (X > 79 characters)
E223 tab before operator
Примутся ли чисто рефакторинговые пулл-реквесты, чтобы код больше соответствовал стандартам?
Открыв код в pycharm, мой монитор стал настолько желтым, что у меня в комнате поднялась температура :)
Конкретнее:
Заменить все табы на пробелы из 4 символов
Сократить длину строк до 79 символов
More and more
The text was updated successfully, but these errors were encountered: