web-dev-qa-db-fra.com

Comment dois-je formater une longue URL dans un commentaire python et être toujours conforme à PEP8)

Dans un commentaire de bloc, je veux faire référence à une URL de plus de 80 caractères.

Quelle est la convention préférée pour afficher cette URL?

Je sais que bit.ly est une option, mais l'URL elle-même est descriptive. Le raccourcir puis avoir un commentaire imbriqué décrivant l'URL raccourcie semble être une solution de merde.

69
Zach

Ne cassez pas l'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
70
jfs

De PEP8

Mais le plus important: sachez quand être incohérent - parfois le guide de style ne s'applique tout simplement pas. En cas de doute, utilisez votre meilleur jugement. Regardez d'autres exemples et décidez ce qui vous semble le mieux. Et n'hésitez pas à demander!

Deux bonnes raisons d'enfreindre une règle particulière:

  • L'application de la règle rendrait le code moins lisible, même pour quelqu'un qui est habitué à lire du code qui suit les règles.

Personnellement, j'utiliserais ce conseil et laisserais plutôt l'URL descriptive complète dans votre commentaire aux gens.

61
Christian Witts

Vous pouvez utiliser le # noqa à la fin de la ligne pour empêcher PEP8/Flake8 d'exécuter cette vérification. Ceci est autorisé par PEP8 via:

Les cas spéciaux ne sont pas assez spéciaux pour enfreindre les règles.

34
Sardathrion

Je dirais de le laisser ...

PEP2 :

Les cas spéciaux ne sont pas assez spéciaux pour enfreindre les règles.

Bien que la praticité l'emporte sur la pureté.

Il est plus pratique de pouvoir copier/coller rapidement une URL puis de supprimer les sauts de ligne lors du collage dans le navigateur.

22
mata

Si vous utilisez 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
12
guyskk

Vous utilisez un raccourcisseur d'URL comme Google, donc à partir de ceci:

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

vous obtenez:

http://goo.gl/93ZLQ

1
Low Kian Seong