Je suis confus quant au choix des noms pour mes fonctions en Python . Parfois, les fonctions intégrées Python sont impératives telles que: print
fonction et méthode de chaîne find
. Parfois, ils ne sont pas tels que: len
son nom n'est pas impératif comme calculate_len
, par exemple, et type
ne l'est pas find_type
.
Je peux comprendre que print
renvoie une valeur que nous n'utilisons pas (c'est-à-dire None
) et fait quelque chose (c'est-à-dire qu'il montre une chaîne à l'écran), donc son nom est impératif.
Mais len
renvoie une valeur que nous utilisons et fait quelque chose (c'est-à-dire calculer le nombre d'éléments dans une séquence ou un mappage) et son nom n'est pas impératif . D'un autre côté, find
la méthode string (as len
) renvoie une valeur que nous utilisons et fait quelque chose, et son nom est impératif .
Ce qui a fait poser cette question, c'est que j'ai mis à jour un script qui crypte et décrypte la chaîne en utilisant le chiffrement César. Le critique a déclaré que:
Juste une intuition: les fonctions font des choses. Donc, un bon nom pour une fonction est un impératif: j'utiliserais à la
rotate_letter
place derotated_letter
.
rotated_letter
renvoie une chaîne d'une seule lettre représentant une lettre tournée d'un nombre. Je ne sais pas ce qui est mieux, je l'ai utilisé rotated_letter
car il renvoie une valeur, comme la randint
fonction dans un module aléatoire , ce n'est pas le cas generate_randint
.
Donc, dans ce cas, comment dois-je nommer une fonction qui renvoie une valeur à utiliser? Dois-je rendre le nom impératif ou juste un nom . Dans d'autres cas, il est évident de savoir comment le faire, comme les fonctions booléennes , comme is_even
et is_palindrome
nous le faisons simplement comme une question oui / non , et aussi des fonctions qui font et renvoient simplement des valeurs non utilisées (c.-à-d. None
), Comme la print
méthode list sort
.
len
, par exemple, est mieux considéré comme une "longueur de" - vous obtenez une description au niveau méta de son argument.