@artinnok
бекенд-программист

Как стоит именовать переменные и функции в Python?

1) Стоит ли использовать переменные с такими общими названиями: result, data, final?
def foo(questions):
     result = []
     for question in questions:
           data = question
           result.append(data)
     return result


2) Стоит ли использовать множественное число для имени переменной: tickets, questions?
for ticket in tickets:
    ....
for question in questions:
   .....

Когда использую много переменных с множественным числом, очень трудно распознавать нужные переменные - всегда приходится смотреть на окончание имени переменной. Как итог, код становится не очень читабельным.

3) Стоит ли использовать точные имена переменных, функций: first_question_from_ticket, get_question_from_string?
first_question_from_ticket = data[0]
def get_question_from_string():
     .....

Думаю ,в целом, это повышает понимание, что делает функция или для чего данная переменная, но писать очень много - опять же, как итог, очень длинный и нечитабельный код.

Пожалуйста, дайте совет, бывалые разработчики!

P.S. Буду рад ссылкам на ресурсы с Best Practiсes по данной тематике)
  • Вопрос задан
  • 1546 просмотров
Пригласить эксперта
Ответы на вопрос 2
@anauthentic
ну и вообще, https://www.python.org/dev/peps/pep-0020/
кстати, по третьему пункту - пока участвовал в одном проекте на eiffel, успел устать от подобной многословности. к предыдущему посту добавлю только, что избегать этого лучше всегда и компенсировать комментариями
Ответ написан
Комментировать
@abcd0x00
Вообще, код надо писать так, как будто ты его откроешь через 10 лет. Представил?
Если там будут какие-то нюансы, ты всё равно про них не вспомнишь.

1) Функции нужно называть императивно (повелительное наклонение).
2) Используй пространства имён.
открыть_ёжика_левого
открыть_ёжика_правого

открыть - это первое пространство имён
ёжика - это второе пространство имён
правого - это третье пространство имён (пустое)
левого - это четвёртое пространство имён (пустое)
Одно пространство находится в другом, так имена получаются короткими и конкретными.
Ориентируешься по количеству: если действий мало, а животных много, то в действиях находятся животные; если же животных мало, а действий много, то в животных находятся действия.
3) Используй идиомы
Вместо
for ticket in tickets:
используй
for i in tickets:
i - это item
Эта идиома перебора элементов последовательности подходит для многих языков. Поэтому даже более понятный ticket не будет выглядеть настолько же привычно, как годами используемый i.
4) При создании имени делай его уникальным
Что ещё я мог бы назвать этим именем в данном коде? Если ответа нет, то имя хорошее.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы