Хорошие имена переменных:
а) короткий / легкий для ввода,
б) легко запомнить,
в) понятный / коммуникативный.
Я забыл что-нибудь? Последовательность - это то, что нужно искать. Я бы сказал, что согласованные соглашения об именах способствуют достижению указанных выше качеств. Последовательность способствует (б) легкости запоминания и (в) понятности, хотя другие факторы часто более важны. Существует четкий компромисс между (а) длиной имени / простотой ввода (например, строчными буквами) и (в) понятностью.
Я уделяю много внимания этим вопросам, потому что тысячи людей используют данные, и я надеюсь, что многие будут использовать мой код для подготовки данных и облегчения некоторых видов анализа. Данные, полученные в результате Продольного исследования здоровья подростков, разбиты на несколько наборов данных. Моим первым шагом было взять 227 переменных в наиболее часто используемом наборе данных, перекодировать их, дать им более значимые имена. Оригинальные имена переменных - это такие вещи, как "aid", "s1", "s2", которые я переименовал в "aid2", "age" и "male.is". В других наборах данных есть тысячи других переменных, которые могут быть объединены в зависимости от целей исследователя.
Пока я переименовываю переменные, я хочу сделать их максимально полезными. Вот некоторые из вопросов, которые я рассмотрел. До сих пор я использовал только строчные буквы и избегал использования любых тире или подчеркиваний, и я использовал периоды только для одной очень конкретной цели. Это имеет преимущество простоты и последовательности, и не вызывает проблем для большинства переменных. Но когда все усложняется, у меня возникает соблазн нарушить мою последовательность. Возьмите, к примеру, мою переменную "talkprobmsum", было бы легче читать как "talkProbMSum" или еще лучше "talk.prob.m.sum", но если я собираюсь использовать заглавные буквы или точки для разделения слов, то я не должен делать это для всех переменных?
Некоторые переменные записываются более чем один раз, например, переменные расы, поэтому я добавил .is или .ih, чтобы указать, пришли ли они из школьной или домашней анкеты. Но есть, конечно, некоторые повторы, о которых я еще не знаю, лучше ли добавить ссылку на набор данных к имени каждой переменной?
Мне нужно сгруппировать и стандартизировать многие переменные, как я это сделал, добавив .zms, то есть z-показатель, по мужчине и по школе.
Любые общие или конкретные мысли или ресурсы приветствуются. Посмотрите этот репозиторий для некоторого моего кода и описательной статистики со списком имен переменных. Я кратко описал причину совместного использования этого кода здесь , и он был немного опубликован здесь , но последние две ссылки на самом деле не имеют отношения к проблеме соглашений об именовании переменных. Добавлено: я слегка отредактировал это, в основном просто перемещая абзац, чтобы попытаться избежать некоторой путаницы, очевидной в комментариях. Спасибо за мысли!
Добавлено 2016-09-05: Ее стоит отметить R Style Guide Hadley Уикхемы и руководство R Style от Google ... Hadley говорит:
Имена переменных и функций должны быть строчными. Используйте подчеркивание (_) для разделения слов в имени.
Google говорит:
Не используйте подчеркивания (_) или дефисы (-) в идентификаторах. Идентификаторы должны быть названы в соответствии со следующими соглашениями. Предпочтительной формой для имен переменных являются все строчные буквы и слова, разделенные точками (variable.name), но variableName также принимается; имена функций имеют начальные заглавные буквы и не имеют точек (FunctionName); константы именуются как функции, но с начальным k.
R
, а скорее о соответствующих методах документирования и использования данных.