je devais ajouter parens étrangers à une condition while aujourd'hui pour éviter les plaintes de pep8:pep8 et multiligne alors que les conditions
while not found and not something and \
(time_left is None or time_left > 0):
(one, two, three, four) = self.gimme(timeout=time_left)
Ma solution:
while (not found and not something and
(time_left is None or time_left > 0)):
(one, two, three, four) = self.gimme(timeout=time_left)
Si je changé le 2ème tiret de la ligne, il se plaignait d'indentation excessive ou d'indentation manquante, pour chaque indentation de pair avec le W dans while, à 8 à droite de celui-ci. Je suis dérangé par le fait que l'ajout de parens externes pour satisfaire pep8, pour une faible amélioration de la lisibilité, va à l'encontre des principes généraux.
Des idées? Ai-je manqué une meilleure solution?
PEP-8 recommande d'utiliser des parenthèses pour prolonger le backslash car celui-ci est plus fragile: un seul espace parasite après le backslash le tue. Je suis d'accord que les parenthèses supplémentaires ajoutent un peu plus de fouillis visuel, mais on s'y habitue. ;) Les espaces supplémentaires à l'intérieur de la condition entre parenthèses sont légaux, et je suis d'accord que c'est ennuyeux si votre IDE ou linter se plaint à ce sujet; OTOH, je pense qu'il semble plus propre si le code continu est indenté par un niveau d'indentation (généralement 4 espaces). –
Au début, j'avais laissé une réponse, mais je commence à penser que cela va conduire à beaucoup de réponses opiniâtres sans une véritable "meilleure" approche concrète pour le faire, car cela dépend du goût. – Makoto
Il existe une variété de styles de codage pour Python. Beaucoup d'entre eux sont supportés par [YAPF] (https://github.com/google/yapf#formatting-style), bien que je ne pense pas qu'il supporte le fait de préférer la continuation entre parenthèses. –