Estoy confundido acerca de elegir nombres para mis funciones en Python . A veces , las funciones integradas de Python son imprescindibles, tales como: print
función y método de cadena find
. A veces no son tales como: len
su nombre no es imprescindible como calculate_len
, por ejemplo, y type
no lo es find_type
.
Puedo entender que print
devuelve 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 len
devuelve 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 find
mé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_letter
lugar derotated_letter
.
rotated_letter
devuelve una cadena de una letra que representa una letra girada por un número. No sé qué es mejor, lo usé, rotated_letter
ya que devuelve un valor, como la randint
funció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_even
y is_palindrome
simplemente lo hacemos como una pregunta de sí / no , y también funciones que solo hacen y devuelven valores no utilizados (es decir None
, como print
método de lista sort
.
len
, por ejemplo, se considera mejor como "longitud de": está obteniendo una descripción de nivel meta de su argumento.