Мене бентежить вибір імен для моїх функцій в Python . Іноді Python вбудованих функцій є імперативом , таких як: print
функції і метод рядки find
. Іноді вони не такі, як: len
його ім'я не є обов'язковим, як calculate_len
, наприклад, і type
не є find_type
.
Я можу зрозуміти, що print
повертає значення, яке ми не використовуємо (тобто None
) і щось робить (тобто воно показує рядок на екрані), тому його ім'я є обов'язковим.
Але len
повертає значення, яке ми використовуємо і щось робить (тобто обчислює кількість елементів у послідовності чи відображенні.), А його ім'я не є обов'язковим . З іншого боку, find
рядовий метод (as len
) повертає значення, яке ми використовуємо і щось робить, а його ім'я є обов'язковим .
Запитавши це питання, це те, що я поставив скрипт, який шифрує та розшифровує рядок, використовуючи шифр Цезаря для перегляду. Рецензент сказав, що:
Просто відчуття кишки: функції роблять речі. Тож гарне ім’я функції є обов'язковим: я б використовував
rotate_letter
замістьrotated_letter
.
rotated_letter
повертає однолітерний рядок, який представляє букву, повернуту цифрою. Я не знаю, що краще, я використовував, rotated_letter
як він повертає значення, як randint
функція у випадковому модулі , це не так generate_randint
.
Отже, як у цьому випадку я повинен назвати функцію, яка повертає значення, яке буде використано? Чи слід робити ім’я імперативом чи просто іменником . В інших випадках очевидно, як це зробити, такі як булеві функції , такі як, is_even
і is_palindrome
ми просто робимо це як питання так / ні , а також функції, які просто виконують і повертають не використовувані значення (тобто None
), такі як print
метод списку sort
.
len
, наприклад, краще вважати "довжину" - ви отримуєте мета-опис свого аргументу.