Откуда происходит "базовая" номенклатура пространства имен?

Я относительно новичок в Clojure, но я заметил, что многие проекты реализуют "основное" пространство имен; например foobar.core похоже, очень распространенный паттерн. Какова история этого и почему он является стандартом де-факто?

1 ответ

Это просто общее имя, которое представляет "основную" функциональность чего-либо. Основные функции Clojure определяют универсальный язык программирования с очень общими функциями, которые могут вам понадобиться во многих различных проблемных областях. Функции, которые применимы только к конкретному проблемному домену, входят в доменные пространства имен, такие как clojure.string или же clojure.set,

Такие инструменты, как Leiningen, не могут априори знать, какую программу вы пытаетесь написать, поэтому они установили вам foo/core пространство имен по умолчанию, смоделировано после clojure.core - clojure.core является основной функциональностью Clojure, поэтому foo.core является основной функциональностью foo.

Если вы можете дать вашему базовому пространству имен менее общее имя, или просто использовать foo/core начать самозагрузку (например, удерживая -main функция), это поощряется, так что большая часть вашего кода будет находиться в более семантически значимых пространствах имен. Это поможет вам найти конкретный код, над которым вы хотите работать позже.

Другие вопросы по тегам