Tengo problemas para encontrar buenos consejos y prácticas comunes para el uso de espacios de nombres en Clojure. Me doy cuenta de que los espacios de nombres no son lo mismo que los paquetes de Java, así que estoy tratando de descubrir las convenciones en Clojure, que parecen sorprendentemente difíciles de determinar.¿Cuáles son las convenciones más comunes para usar espacios de nombres en Clojure?
Creo que tengo una muy buena idea de cómo dividir las funciones en archivos clj e incluso más o menos cómo me gustaría organizar esos archivos en directorios. Pero más allá de eso, tengo problemas para encontrar la mecánica para mi entorno de desarrollo. Algunas preguntas interrelacionadas:
- ¿Utilizo las mismas convenciones de exclusividad para los espacios de nombres Clojure que normalmente usaría para los paquetes Java? [es decir, backwards-company-domain.project.subsystem]
- ¿Debo guardar mis archivos en una estructura de directorio que coincida con mis espacios de nombres? [ala Java]
- Si tengo varios espacios de nombres, ¿necesito compilar todo mi código en un jar y agregarlo a mi classpath para que sea accesible?
- ¿Debería cada espacio de nombres compilar en un contenedor? ¿O debería crear un único contenedor que contenga código clj de muchos espacios de nombres?
Gracias ...
Retroactivamente doy un gran pulgar hacia arriba a este blog que me hubiera ayudado mucho cuando escribí esta pregunta: http://blog.8thlight.com/articles/2010/12/6/clojure-libs-and -paquetes de nombres-requiere-usa-importa-y-ns –