Hacktoberfest 2026: le issue che i maintainer hanno segnato per ottobre, aperte e adatte ai principianti. Sfoglia le issue Hacktoberfest

E303: too many blank lines (2)

Aperta
#775 0 commenti 6 reazioni 0 assegnatari Vedi su GitHub

Nessuno ha ancora preso questa issue.

Valutazione

Difficoltà
5/5
Tempo stimato
Più di una settimana
Idoneità per principianti
25/100
Tipo di issue
Funzionalità
Chiarezza
Da chiarire
Stato di attività
Ferma
Stack tecnologico
python
Ambito
tooling

Direzione di ricerca

Inizia individuando il controllo E303 e verificando come viene attualmente testato il suo limite di righe vuote. Confronta le opzioni proposte per il conteggio delle eccezioni e per il limite configurabile con il testo di PEP 8, quindi chiarisci la policy prevista con i maintainer prima di implementare qualsiasi cosa. Il lavoro è concluso quando sono stati definiti il comportamento e i test che coprono i casi accettati.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Descrizione

quoting PEP 8 :
"Surround top-level function and class definitions with two blank lines.

Method definitions inside a class are surrounded by a single blank line.

Extra blank lines may be used (sparingly) to separate groups of related functions. Blank lines may be omitted between a bunch of related one-liners (e.g. a set of dummy implementations)."

Which may be usefull, for example, if you are used to split your function in really small unit accordingly to the SRP (and Clean Code book of Robert C. Martin).

For example if you have a snippet like this one, with a lot more of subfunction :

class foo():
    def usefull_function(self):
        _sub_function_a()
        _sub_function_b()    

    def _sub_function_a(self):
        #do_stuff
  
    def _sub_function_b(self):
        #do_stuff


    def other_function_with_subfunction(self):   # Two blank lines before this might be cleaner.
        _sub_function_c()
        _sub_function_d()

    def _sub_function_c(self):
        #do_stuff
  
    def _sub_function_d(self):
        #do_stuff

This snippet is here to give an example of why this can be used, but anyway, the PEP states it's ok.

Question :

  • Should pycodestyle allow more blank lines that the recommandation (and not restriction)?

Options that could be implemented

  • Selecting the number of exception to the recommandation that can be applied to a class (enhance the "sparingly" in the PEP8 quotation)
  • Selecting the max number of extra blank line before class, top-level function and method.

Pros :

  • Real check of the PEP8.
  • Let you more option for clean code.

Cons :

  • In the main use case, you want only one blank line before a def, and it will allow some wrong blank space to sneak in the code.
Lingua principale
Python
Stelle
5.2k
Fork
756
Merge medio
16h 56m
PR unite (30g)
1

Preparare l'ambiente

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Altre issue di PyCQA/pycodestyle

Tutte le issue di PyCQA/pycodestyle

Issue simili

Altre issue su Python

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.