Задать вопрос

Как лучше называть переменные и функции?

Привет. Последнее время задумался над тем, как правильнее называть переменные и функции. Я понимаю, что это наверное весьма субъективно, но хочется послушать ваши мнения. Речь идет не о нотации. Также понятно, что имя переменной должно максимально точно отражать ее содержимое. Я хочу узнать о последовательности слов, времени, длине наименования и т.д. Например, как бы назвали "общее время сохранение пользователей" (в функции также есть другие счетчики времени сохранения пользователей), total_time, time_total, save_time_users и т.д.? Первое слово должно наиболее отражать содержание переменной (time_total) или лучше называть так, как говорим (total_time)? Имеет ли смысл называть переменную по частям речи, т.е. прилагательное_существительное? get_groups_user или get_user_groups?
Я думаю, смысл вопроса понятен. Хочется писать единообразный и понятный код. Поделитесь своим видением, можно с примерами.
  • Вопрос задан
  • 4439 просмотров
Подписаться 4 Оценить Комментировать
Пригласить эксперта
Ответы на вопрос 5
@id2669099
PEP8 вот тут написаны рекомендации и про функии и про переменные и про классы, про то что за чем располагать, про количество символов в строке, про отступы..
Ответ написан
@Free_ze
Пишу комментарии в комментарии, а не в ответы
Самое главное правило - чтобы в данном контексте сразу было понятно, что означает переменная. Чем ближе к английскому, тем лучше (порядок слов сохранять). Есть всего пару основных правил:
- главное слово в названии - это существительное или прилагательное
- булевые могут иметь префикс is_... (но не isnot_...)
- артикли не использовать

Не нужно дублировать смысл, который и так понятен из контекста. Если у нас, скажем, метод parse_html(), то внутри него вместо html_nodes можно писать просто nodes.
Ответ написан
BacCM
@BacCM
C++ почти с рождения
Если работаете в команде стоит сесть и записать перечень слов из которых строятся имена, а так же список пар например Add/Remove, Open/Close, Program/Clear, Create/Destroy к каким-то стоит дописать смысловую нагрузку.
Например, метод Init производит начальную инициализацию контента объекта, по сути аналог конструктора, и его нельзя вызывать никак иначе кроме как первым обращением к этому объекту, а допустим Reset переводит объект в такое же начальное состояние, но уже из произвольного состояния.
Size это размер в байтах, словах или чём-то еще в чем принято у вас.
Len или Length длина в элементнах

Код будет читаться и пониматься гораздо легче
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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