2016-01-19 1 views
5

J'écris en python 3.5.1 et je suis novice en programmation.Comment suivre python PEP8 en ce qui concerne les sauts de ligne, et quelle est son importance?

J'utilise gedit avec un pep8 et pyflakes plugins montrant des erreurs de style selon le python style guide. Je ne sais pas s'il faut suivre la recommandation de style à la lettre ou non. J'ai cependant trois défauts de style récurrents indiqués par E501: line too long (80 > 79 characters), E502: the backslash is redundant between brackets et E128/E127/...: continuation line under-indented for visual indent. Captures d'écran ci-dessous.

Mes deux questions sont:

  1. Comment puis-je faire correctement un saut de ligne en python afin d'éviter les erreurs et E501 de style suivantes E502 et E127/128?
  2. Est-il utile de suivre le guide de style pep8 à la lettre, en particulier en ce qui concerne la publication? Que disent les programmeurs python avancés?

E501: enter image description here

E502: enter image description here

E127/128 ...: enter image description here

+3

"Avec la publication en tête", oui, absolument, suivez le guide de style. Aucune exception; normes existent pour la compréhension mutuelle. Si vous n'aimez pas le guide de style, soumettez un nouveau PEP; dans ce cas, attendez-vous à être rejeté. – msw

+0

Pourquoi cela a-t-il été fermé? Il y a une excellente réponse à écrire au sujet du point 2, comment faire des sauts de ligne qui seront acceptables pour PEP8. Edit - comme @msw a maintenant fourni. –

+0

Ma valeur de 2c: 1. Ne pas utiliser la continuation de barre oblique inversée lorsque vous n'en avez pas besoin, par exemple entre parenthèses. 2. Votre indentation sur ces lignes continues est beaucoup trop grande. 3. Beaucoup de gens traitent la longueur de la ligne comme une suggestion plutôt que comme une restriction rigide, puisque les moniteurs modernes sont beaucoup plus gros qu'ils ne l'étaient auparavant. OTOH, coller à la norme rendra votre code meilleur dans de nombreux endroits, y compris ici sur SO. –

Répondre

5

« Comment puis-je faire correctement un saut de ligne en python afin d'éviter E501 et les erreurs de style suivantes E502 et E127/128? "

progress = Utils.ProgressMeter('Source strings separated by white ' 
    'space are automatically concatenated by the ' 
    'interpreter and parenthesis are the natural syntax ' 
    'for line continuation. Remember to use trailing ' 
    'spaces.') 

Puisque l'erreur E502 est déjà entre parenthèses, la barre oblique inverse est redondante. Avez-vous essayé de l'éliminer?