Как я должен форматировать длинный url-адрес в комментарии python и по-прежнему быть совместимым с PEP8


в комментарии блока я хочу ссылаться на URL-адрес длиной более 80 символов.

что является предпочтительным соглашением для отображения этого URL?

Я знаю bit.ly это вариант, но сам URL-адрес является описательным. Сокращение его, а затем наличие вложенного комментария, описывающего сокращенный URL, кажется дерьмовым решением.

7 60

7 ответов:

Не нарушайте url:

# A Foolish Consistency is the Hobgoblin of Little Minds [1]
# [1]: http://www.python.org/dev/peps/pep-0008/#a-foolish-consistency-is-the-hobgoblin-of-little-minds

с PEP8

но самое главное: знайте, когда быть непоследовательным-иногда руководство по стилю просто не применяется. Когда вы сомневаетесь, используйте свое лучшее суждение. Посмотрите на другие примеры и решите, какой выглядит лучше. И не стесняйтесь спрашивать!

две веские причины нарушить то или иное правило:

  • когда применение правила сделает код менее читаемым даже для тех, кто привык читать код, который следует правила.

лично я бы использовал этот совет и скорее оставил полный описательный URL-адрес в своем комментарии для людей.

можно использовать # noqa в конце строки, чтобы остановить PEP8 / Flake8 от выполнения этой проверки. Это разрешено PEP8 через:

особых случаев недостаточно, чтобы нарушить правила.

Я бы сказал, Оставьте его...

PEP20:

особых случаев недостаточно, чтобы нарушить правила.

хотя практичность бьет чистоты.

более практично иметь возможность быстро копировать / вставлять url-адрес, а затем удалять разрывы строк при вставке в браузер.

Если вы используете flake8:

"""
long-url: http://stackoverflow.com/questions/10739843/how-should-i-format-a-long-url-in-a-python-comment-and-still-be-pep8-compliant
"""  # noqa

вы используете url ссылками, таких как Google так из этого:

http://www.python.org/dev/peps/pep-0008/#a-foolish-consistency-is-the-hobgoblin-of-little-minds

вы получаете:

http://goo.gl/93ZLQ

мой вариант такой:

URL = ('http://stackoverflow.com/questions/10739843/'
       'how-should-i-format-a-long-url-in-a-python-'
       'comment-and-still-be-pep8-compliant')