2015-09-15 18 views
5

Czy można zawrzeć nazwę metody w definicji funkcji? Mam wyjątkowo długą nazwę metody i zastanawiam się, czy to możliwe, aby owinąć go tak:Nazwa metody zwijania w definicji

# 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 

Próbowałem to zrobić, ale pojawia się błąd składni:

def my_really_long_method_name_\ 
     wow_this_is_really_long(): 
    pass 

Odpowiedz

3

Nie, zawijanie nazwy funkcji nie jest możliwe, nawet jeśli Python obsługuje nieograniczoną długość nazw funkcji. Dłuższe nazwy funkcji nie są niczym niezwykłym, ale sprawienie, by były tak długie, że potrzebują dwóch wierszy ekranu, pokazuje, że coś jest nie tak z konwencją nazewnictwa.

Btw, Python zaleca długość linii (łącznie) 79 znaków. Nie jesteśmy już w latach 80 ze starymi ekranami, więc można zignorować ten limit, ale to daje dobry wskaźnik.

referencyjny: PEP 0008 -- Style Guide for Python Code

+0

śledzę przewodnik Roya Osherove za nazwanie metody badań jednostka, ale bym się także moje testów do PEP0008 zgodny (zawinąć do 79 znaków). Sądzę, że będę musiał opracować sposób zmiany nazw moich testów, tak aby miały mniej niż 80 znaków. –

+1

Jednym z możliwych sposobów rozwiązania tego problemu jest utworzenie klas służących do struktury kodu i podzielenia go na części. "Abstrakcja" jest tutaj słowem kluczowym. 'test1.ExecuteMain()' jest łatwiejszy do odczytania niż 'ThisIsTest1AndThisExecutesMainTest' – HelloWorld

Powiązane problemy