Подтвердить что ты не робот

Что означает Clojure Соглашения об именах?

Может кто-нибудь объяснить или указать мне, где я могу найти соглашения об именах clojure для:

  • Имена файлов
  • Функции (из того, что я понимаю, имена функций - это просто разделенные символом значения)
  • Переменные
4b9b3361

Ответ 1

Возможно, вам стоит взглянуть на Clojure стандарты кодирования библиотек на разработчике Wiki - это, вероятно, самый полный список, мы видели.

К вашим конкретным моментам:

  • Имена файлов строчные и хранятся в структуре каталогов для соответствия пространству имен и заканчиваются на .clj, например. "Мой/специальный/namespace.clj
  • Функции представляют собой разделенные штрихами слова с нижним регистром, идеально ориентировочно выбираемые так, чтобы ваш код был понятным и самодокументированным. Не бойтесь повторно использовать хорошие имена функций в разных пространствах имен (это пространство имен для!).
  • Переменные (с помощью которых я предполагаю, что вы имеете в виду параметры, связанные переменные и т.д.) также обычно разделены штриховыми буквами. Поскольку код-данные-данные, я думаю, что уместно, чтобы функции и данные имели одно и то же соглашение об именах: -)

Ответ 3

Есть несколько интересных рекомендаций по наименованию, написанных Stuart Sierra, которые предполагают, что:

  • чистыми функциями должны быть существительные, описывающие возвращаемое значение (age вместо calculate-age)
  • побочные эффекты должны быть глаголами, описывающими действие (create- для построения и get- для извлечения), сохраняя привязку swap! к изменяемым ссылкам.
  • глаголы, которые также могут быть существительными, следует отличать как фразы глагола (send-message вместо message)
  • принуждения должны указывать тип вывода без префикса стрелки (connection вместо ->connection), за исключением случаев, когда тип ввода должен быть явным (input-type->output-type)
  • псевдонимы пространства имен могут сэкономить на повторении (products/price вместо products/product-price) и предотвратить локальные конфликты в привязках привязок
  • функции возврата функций должны иметь суффикс -fn

Ответ 4

Даже если вы не просили об этом явно, я объясню, что я видел для соглашений об именах протоколов.

Как правило, имя начинается с прописной буквы "I", а затем остальное - это верблюжьей кейс, где первая буква каждого слова заглавная, а остальное - в нижнем регистре. Например, я хочу определить протокол для ракетных кораблей, я бы использовал имя IRocketShip

Я также видел "А" вместо "Я", возможно, чтобы представить слово "абстрактное".