Votre tâche consiste à écrire un fichier contenant une ligne contenant de nombreuses violations de pep8 .
Les règles:
- Nous utilisons pep8 version 1.5.7 et les paramètres par défaut.
- Appeler pep8 avec d'autres options de ligne de commande ou utiliser un fichier rc personnalisé n'est pas autorisé.
- Longueur de ligne maximale 120 caractères. Vous pouvez violer E501, bien sûr, mais la ligne sur laquelle votre score est calculé doit être <= 120 caractères.
- Votre module peut avoir d'autres lignes avant ou après, mais une seule ligne contribue à votre score.
- Votre fichier peut contenir des SyntaxErrors ou tout type de déchets, il n'a pas besoin d'être importé ou exécuté.
Exemple de notation:
Le module suivant thing.py
a un score de 2, car il contient une ligne (ligne 1) avec 2 violations pep8.
spam='potato'
Pour vérifier un score:
~$ mktmpenv
(tmp-ae3045bd2f629a8c)~/.virtualenvs/tmp-ae3045bd2f629a8c$ pip install pep8==1.5.7
(tmp-ae3045bd2f629a8c)~/.virtualenvs/tmp-ae3045bd2f629a8c$ echo -n "spam='potato'" > thing.py
(tmp-ae3045bd2f629a8c)~/.virtualenvs/tmp-ae3045bd2f629a8c$ pep8 thing.py
thing.py:1:5: E225 missing whitespace around operator
thing.py:1:14: W292 no newline at end of file
Réponses:
241
si vous voulez le plus d'erreurs, devenez fou avec le point-virgule
la plupart des erreurs sont:
avec ces erreurs à la fin:
la source
123
Oui, plus de violations que de personnages!
L'astuce est qu'un
=
après un(
fait croire à Pep que vous faites un mot-clé dans un appel de fonction (par exemplefoo(bar=12)
). Dans ce contexte, faire[TAB]=
déclenche à la foisEt faire
=[TAB]
déclenche les deuxHeureusement, vous pouvez simplement les enchaîner.
Cela donne un nombre de violations d'un par personnage. Je dois
(
le configurer, mais ne pas nous fournir)
:C'est 120. Pas de nouvelle ligne = 121. Il a réussi à déclencher l'erreur "ligne trop longue", donc c'est 122. Enfin, utiliser un caractère pour commencer par un espace (merci eric_lagergren ) donne 2 violations au lieu de 1:
La victoire!
la source
z
et vous vous retrouverez avec 103 ... mais chaque fois que je copie ce code, j'obtiens 83 au lieu de 102. Je pense que l'espacement est en train d'être foiré.