R:Оформление кода — различия между версиями

Материал Psylab.info - энциклопедии психодиагностики
Перейти к: навигация, поиск
м
Строка 1: Строка 1:
 
{{CC-BY-4.0|author=автором Артём Клевцов}}
 
{{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>
  
 
=== Ссылки ===
 
=== Ссылки ===

Версия 06:13, 1 февраля 2014

При совместной работе группы людей над одним проектом часто возникает необходимость в неких общих правилах оформления кода. Целью принятия и использования таких правил является упрощение восприятия программного кода человеком, минимизация нагрузки на память и зрение при чтении его чтении.

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

Одним из общих правил является необходимость придерживаться одного стиля в рамках одного проекта всего проекта.

Названия файлов

Общим требования к именованию файлов является написания расширений файла, включающего принадлежность к языку программирования R с большой буквы. Обратим внимание, что все UNIX-like операционные системы чувствительны к регистру в названиях файлов. Например: Шаблон:Inline-code. Бинарный формат хранения данных имеет расширение Шаблон:Inline-code.

Имена файлов содержат символы в нижнем регистре.

Для замены пробелов в названиях файлов обычно используются дефисы или нижние подчёркивания.

Названия функций и переменных

Существуют различные подходы

Присвоение

Для присвоения используется «<-» или «->», но не «=», который используется только для указания значения аргументов функций.

Отступы

Для отступов могут использоваться как пробелы, так и табуляция. Важно, чтобы отступы были везде одинаковыми, т.е. только пробелы или только табуляция. В R coding standards рекомендуется использовать 4 пробела для кода и 2 пробела для документации.

Расстановка пробелов

Пробелы ставятся до и после математических символов и бинарных или логических операторов:

  • математические символы: «=», «+», «-», «*», «/»;
  • операторы присвоения: «<-», «->»
  • бинарные операторы: «%in%», «%%», «%/%»;
  • логические операторы: «==», «!=», «&», «|», «<», «>», «<=», «>=».

Пробелы также ставятся после запятых.

Пробел ставятся после таких выражений как: Шаблон:Inline-code, Шаблон:Inline-code, Шаблон:Inline-code.

Пробелы ставятся перед открывающейся фигурной скобкой - «{».

Пробел не ставится при объявлении или вызове функции: Шаблон:Inline-code.

Пробелы также не ставятся между круглыми скобками:

<syntaxhighlight lang="rsplus"> if ( (x == 1) & (y == 2) ) </syntaxhighlight>

Более корректно:

<syntaxhighlight lang="rsplus"> if ((x == 1) & (y == 2)) </syntaxhighlight>

Ссылки