Sono confuso sulla scelta dei nomi per le mie funzioni in Python . A volte le funzioni integrate di Python sono indispensabili come: printfunzione e metodo stringa find. A volte non sono come: il lensuo nome non è un imperativo come calculate_len, ad esempio, e typenon lo è find_type.
Posso capire che printrestituisce un valore che non usiamo (cioè None) e fa qualcosa (cioè mostra una stringa sullo schermo), quindi il suo nome è imperativo.
Ma lenrestituisce un valore che usiamo e fa qualcosa (cioè calcolando quanti elementi ci sono in una sequenza o in una mappatura) e il suo nome non è indispensabile . D'altra parte, il findmetodo string (as len) restituisce un valore che usiamo e fa qualcosa, e il suo nome è indispensabile .
Ciò che ha fatto questa domanda è che ho messo uno script che crittografa e decrittografa la stringa usando il codice Caesar per essere rivisto. Il recensore ha affermato che:
Solo un istinto: le funzioni fanno cose. Quindi un buon nome per una funzione è un imperativo: userei
rotate_letterinvece dirotated_letter.
rotated_letterrestituisce una stringa di una sola lettera che rappresenta una lettera ruotata di un numero. Non so cosa sia meglio, l'ho usato rotated_letterin quanto restituisce un valore, come la randintfunzione nel modulo casuale , non lo è generate_randint.
Quindi, in questo caso, come dovrei nominare una funzione che restituisce un valore da usare? Dovrei rendere il nome imperativo o solo un nome . In altri casi è ovvio come farlo, come funzioni booleane , come is_evene lo is_palindromefacciamo solo come una domanda sì / no , e anche funzioni che fanno e restituiscono valori non usati (ad es. None), Come il printmetodo e list sort.
len, ad esempio, è meglio pensarlo come "lunghezza di" - stai ottenendo una descrizione a livello di livello del suo argomento.