3482
правки
Изменения
м
Нет описания правки
{{CC-BY-4.0|author=автором Артём Клевцов}}
При совместной работе группы людей над одним проектом часто возникает необходимость в неких общих правилах оформления кода. Целью принятия и использования таких правил является упрощение восприятия программного кода человеком, минимизация нагрузки на память и зрение при чтении его чтении.
К сожалению, для языка R нет чётких правил оформления кода. В качестве источников таких правил обычно используется исходный код ядра R, в котором, правда, наблюдается весьма разнородные варианты оформления. Дополнительными источниками являются стандарты оформления кода, заимствованные из других языков программирования.
Одним из общих правил является необходимость придерживаться одного стиля в рамках одного проекта всего проекта.
== Названия файлов ==
Общим требования к именованию файлов является написания расширений файла, включающего принадлежность к языку программирования R с большой буквы. Обратим внимание, что все UNIX-like операционные системы чувствительны к регистру в названиях файлов. Например: {{Inline-code|pulse-analyse.R, report.Rmw, presentation.Rmd|lang="bash"}}. Бинарный формат хранения данных имеет расширение {{Inline-code|.RData|lang="bash"}}.
Имена файлов содержат символы в нижнем регистре.
Для замены пробелов в названиях файлов обычно используются дефисы или нижние подчёркивания.
== Названия функций и переменных ==
Существуют различные подходы
== Присвоение ==
Для присвоения используется «<-» или «->», но не «=», который используется только для указания значения аргументов функций.
== Отступы ==
Для отступов могут использоваться как пробелы, так и табуляция. Важно, чтобы отступы были везде одинаковыми, т.е. только пробелы или только табуляция. В [http://cran.r-project.org/doc/manuals/R-ints.html#R-coding-standards R coding standards] рекомендуется использовать 4 пробела для кода и 2 пробела для документации.
== Расстановка пробелов ==
Пробелы ставятся '''до''' и '''после''' математических символов и бинарных или логических операторов:
* математические символы: «=», «+», «-», «*», «/»;
* операторы присвоения: «<-», «->»
* бинарные операторы: «%in%», «%%», «%/%»;
* логические операторы: «==», «!=», «&», «|», «<», «>», «<=», «>=».
Пробелы также ставятся '''после''' запятых.
Пробел ставятся '''после''' таких выражений как: {{Inline-code|if|lang="rsplus"}}, {{Inline-code|for|lang="rsplus"}}, {{Inline-code|while|lang="rsplus"}}.
Пробелы ставятся '''перед''' открывающейся фигурной скобкой - «{».
Пробел '''не''' ставится при объявлении или вызове функции: {{Inline-code|mean(x)|lang="rsplus"}}.
Пробелы также '''не''' ставятся между круглыми скобками:
<syntaxhighlight lang="rsplus">
if ( (x == 1) & (y == 2) )
</syntaxhighlight>
Более корректно:
<syntaxhighlight lang="rsplus">
if ((x == 1) & (y == 2))
</syntaxhighlight>
=== Ссылки ===