En la mayoría de los lenguajes de programación, a menudo tiene un "espacio de nombres> archivos> clases> métodos" u otra organización similar. ¿Cómo se hace esto en Clojure?¿Cómo se organizan los grandes proyectos de clojure?
9
A
Respuesta
5
Es más o menos:
namespace > files > vars
Tenga en cuenta que:
- espacios de nombres se define con frecuencia en un solo archivo, pero no tienen que ser (se puede utilizar varios archivos para definir un espacio de nombres)
- vars puede contener cualquier cosa: funciones, objetos Java, datos, macros, etc. La mayoría de las veces, serán funciones o literales de datos de nivel superior
- Los espacios de nombres son dy namic: se pueden modificar en tiempo de ejecución. Esto le da un buen montón de flexibilidad para organizar el código de diferentes maneras si quieres (se puede generar y llenar los espacios de nombres mediante programación, por ejemplo)
Ver también:
0
Los espacios de nombres de Clojure son paquetes de Java, por lo que la mayoría de los programas de Clojure están organizados de forma similar a un programa Java, al menos hasta el nivel del paquete.
Después del nivel del paquete veo que muchos programas Clojure tienden a ser más planos que sus contrapartes Java.
Cuestiones relacionadas
- 1. ¿Cómo se organizan los módulos de Python?
- 2. ¿Cómo se organizan los módulos de NInject?
- 3. ¿Cómo se organizan y despliegan comúnmente los proyectos de código abierto?
- 4. ¿Cómo se organizan los nombres de las funciones cuando se crean bibliotecas clojure para el consumo público?
- 5. ¿Cómo se organizan sus archivos de recursos?
- 6. ¿Los genéricos en D2009 se pueden usar en proyectos grandes?
- 7. Uso de Emacs para grandes proyectos grandes
- 8. CakePHP para grandes proyectos
- 9. ¿Cómo se organizan grandes bases de código JS/jQuery en todo su sitio web?
- 10. ¿Cómo se organizan sus pequeños cofres reutilizables?
- 11. ¿Cómo planificar grandes proyectos de software?
- 12. ¿Cómo combinar grandes proyectos en Eclipse?
- 13. ¿Cómo procesar datos binarios grandes en Clojure?
- 14. Cómo refactorizar grandes proyectos en visual studio
- 15. Cómo usar #include en proyectos grandes?
- 16. Clojure - Calcular con números grandes
- 17. ¿Cómo se mantienen organizados los recursos de WPF en grandes proyectos?
- 18. Cómo iniciar la modificación con grandes proyectos
- 19. Mantenimiento de recursos (resx) en grandes proyectos
- 20. ¿Cómo se organizan métodos y propiedades dentro de una clase?
- 21. Emacs tutorial para proyectos grandes
- 22. Grandes proyectos basados en Lisp
- 23. Guía para organizar grandes proyectos de Django
- 24. Gestión de dependencias para grandes proyectos
- 25. Uso de Firebird en grandes proyectos
- 26. ¿Cómo se organizan las pruebas unitarias en paquetes?
- 27. Obtener estadísticas de código de grandes proyectos
- 28. Cómo familiarizarse con los proyectos
- 29. Mejores prácticas de IoC en proyectos grandes
- 30. Grandes proyectos de Android: ¿cómo acelerar el proceso de construcción?
Los espacios de nombres de Clojure a menudo se usan como los paquetes de Java, pero definitivamente se implementan de manera diferente con semánticas diferentes. Consulte la clase de Java [clojure.lang.Namespace] (https://github.com/clojure/clojure/blob/d0c380d9809fd242bec688c7134e900f0bbedcac/src/jvm/clojure/lang/Namespace.java). Clojure tiene el concepto de [libs] (http://clojure.org/libs) que están disponibles como recursos de Java y generalmente ponen a disposición un espacio de nombre de clojure. –