RLint: Переформатирование кода R в соответствии с руководством по стилю Google


Google Research продемонстрировала программное обеспечение, которое будет проверять и переформатировать код R в соответствии с руководством по стилю Google R.

Этот проект обсуждался в докладе Энди Чена из Google Research на конференции пользователей R в этом году в Лос-Анджелесе.

R быстро становится основным языком для статистики и обработки данных в целом, и к нему нужно относиться серьезно, поскольку он часто используется для создания больших систем пользователями, которые в основном не являются программистами. В других языках есть программы “lint”, предназначенные для удаления раздражающего “пуха”, который затемняет смысл и ухудшает код – так почему бы не R? 

Выступление Чена показало, как RLint был разработан Google для проверки и переформатирования кода R, предупреждения о нарушениях и, возможно, изменения макета для создания совместимого кода.

Элементы кода, на которые смотрит RLint, включают правильный интервал, выравнивание строк внутри скобок и другие нарушения стиля. Чен говорит, что RLint автоматически используется в Google как часть процесса экспертной оценки кода R.

Необходимость согласованного макета и формата кодирования в Google становится очевидной, если вы рассмотрите статистику, которую приводит Чен, утверждая, что в Google около 40 процентов файлов R модифицируются более чем одним программистом.

У Google есть руководство по стилю R, в котором указаны рекомендации по именованию идентификаторов; макет программы с точки зрения отступов и интервалов; как комментировать программу и как комментировать функции. Мера успеха, согласно руководству, заключается в том, что любой программист должен уметь мгновенно понимать структуру любого кода.

RLint был разработан на Python с целью минимизации накладных расходов на следование руководству по стилю. При использовании в Google все нарушения кода руководства по стилю отмечаются инструментом проверки кода, и нарушения должны быть исправлены до отправки кода.

Чен говорит, что Google поощряет авторов пакетов CRAN и других программистов R использовать этот инструмент. Он управляется из командной строки и работает в Linux, Unix, Mac или Windows.


Добавить комментарий