Estoy confundido acerca de elegir nombres para mis funciones en Python . A veces , las funciones integradas de Python son imprescindibles, tales como: printfunción y método de cadena find. A veces no son tales como: lensu nombre no es imprescindible como calculate_len, por ejemplo, y typeno lo es find_type.
Puedo entender que printdevuelve un valor que no usamos (es decir None) y hace algo (es decir, muestra una cadena en la pantalla), por lo que su nombre es imprescindible.
Pero lendevuelve un valor que usamos y hace algo (es decir, calcular cuántos elementos hay en una secuencia o un mapeo) y su nombre no es imprescindible . Por otro lado, el findmétodo de cadena (as len) devuelve un valor que usamos y hace algo, y su nombre es imperativo .
Lo que hizo esta pregunta es que puse un script que encripta y desencripta la cadena usando el cifrado Caesar para su revisión. El revisor dijo que:
Solo un presentimiento: las funciones hacen cosas. Por lo tanto, un buen nombre para una función es un imperativo: usaría en
rotate_letterlugar derotated_letter.
rotated_letterdevuelve una cadena de una letra que representa una letra girada por un número. No sé qué es mejor, lo usé, rotated_letterya que devuelve un valor, como la randintfunción en el módulo aleatorio , no lo es generate_randint.
Entonces, en este caso, ¿cómo debo nombrar una función que devuelve un valor para ser utilizado? ¿Debo hacer que el nombre sea imperativo o simplemente un sustantivo ? En otros casos, es obvio cómo hacerlo, como funciones booleanas , como is_eveny is_palindromesimplemente lo hacemos como una pregunta de sí / no , y también funciones que solo hacen y devuelven valores no utilizados (es decir None, como printmétodo de lista sort.
len, por ejemplo, se considera mejor como "longitud de": está obteniendo una descripción de nivel meta de su argumento.