2015-09-15 24 views
5

È possibile racchiudere il nome del metodo nella definizione di una funzione? Ho un nome di un metodo eccezionalmente lungo e mi chiedo se è possibile per avvolgere in questo modo:Nome del metodo di avvolgimento nella definizione

# method name is my_really_long_method_name_wow_this_is_really_long 
def my_really_long_method_name_ 
     wow_this_is_really_long(): 
    pass 

Ho provato a fare questo, ma ottengo un errore di sintassi:

def my_really_long_method_name_\ 
     wow_this_is_really_long(): 
    pass 

risposta

3

No, il wrapping del nome della funzione non è possibile, anche se Python supporta un numero illimitato di nomi di funzioni. I nomi delle funzioni più lunghi non sono inusuali, ma rendendoli così lunghi hanno bisogno di due righe di uno schermo in realtà mostrano che c'è qualcosa di veramente sbagliato nella tua convenzione di denominazione.

Btw, Python consiglia una lunghezza della linea (in totale) di 79 caratteri. Non siamo più negli anni '80 con i vecchi schermi, quindi puoi ignorare quel limite, ma ti dà una buona indicazione.

Riferimento: PEP 0008 -- Style Guide for Python Code

+0

Seguo guida di Roy Osherove per la denominazione di metodi di test di unità, ma mi piacerebbe anche le mie prove per essere compatibile PEP0008 (avvolgere a 79 caratteri). Credo che dovrò elaborare un modo per rinominare i miei test in modo che siano meno di 80 caratteri. –

+1

Un modo per risolvere questo problema è creare classi per strutturare il codice e dividerlo in parti. 'Abstraction' è la parola chiave qui. 'test1.ExecuteMain()' è più facile da leggere di 'ThisIsTest1AndThisExecutesMainTest' – HelloWorld