A
A
aesfur2017-01-27 09:30:34
Python
aesfur, 2017-01-27 09:30:34

What is the best way to name variables and functions?

Hello. Lately I've been thinking about how to properly name variables and functions. I understand that this is probably very subjective, but I would like to hear your opinions. It's not about notation. It is also clear that the variable name should reflect its contents as accurately as possible. I want to know about the sequence of words, time, length of the name, etc. For example, what would you call "total user save time" (the function also has other counters of user save time), total_time, time_total, save_time_users, etc.? The first word should most reflect the content of the variable (time_total) or is it better to call it as we say (total_time)? Does it make sense to name a variable by parts of speech, i.e. adjective_noun? get_groups_user or get_user_groups?
I think the meaning of the question is clear. I want to write uniform and understandable code. Share your vision with examples.

Answer the question

In order to leave comments, you need to log in

5 answer(s)
I
Ilyas, 2017-01-27
@id2669099

PEP8 here are recommendations about functions and variables and classes, about what to put behind what, about the number of characters in a line, about indents ..

L
Lander, 2017-01-27
@usdglander

Веревка достаточной длины, чтобы выстрелить себе в ногу

Толстый Лорри, 2017-01-27
@Free_ze

Самое главное правило - чтобы в данном контексте сразу было понятно, что означает переменная. Чем ближе к английскому, тем лучше (порядок слов сохранять). Есть всего пару основных правил:
- главное слово в названии - это существительное или прилагательное
- булевые могут иметь префикс is_... (но не isnot_...)
- артикли не использовать
Не нужно дублировать смысл, который и так понятен из контекста. Если у нас, скажем, метод parse_html(), то внутри него вместо html_nodes можно писать просто nodes.

Василий Мельников, 2017-01-27
@BacCM

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

R
riot26, 2017-01-27
@riot26

www.labirint.ru/books/232091
Глава 2

Didn't find what you were looking for?

Ask your question

Ask a Question

731 491 924 answers to any question