W większości języków programowania często masz "przestrzeń nazw> pliki> klasy> metody" lub podobną organizację. Jak to się robi w clojure?Jak organizowane są duże projekty typu clojure?
9
A
Odpowiedz
5
Jest grubsza:
namespace > files > vars
zauważyć, że:
- Przestrzenie nazw są często zdefiniowane w jednym pliku, ale nie muszą być (można użyć wielu plików do zdefiniowania nazw)
- vars może zawierać wszystko: funkcje, obiekty Java, dane, makra itp. W większości przypadków będą to funkcje lub literały danych najwyższego poziomu.
- Przestrzenie nazw są elementami namic: można je modyfikować w czasie wykonywania. To daje sporo elastyczność zorganizować swój kod na różne sposoby, jeśli chcesz (można generować i wypełnić swoje nazw programowo na przykład)
Patrz także:
0
Przestrzenie nazw Clojure są pakietami java, więc większość programów Clojure jest zorganizowanych podobnie jak program java, co najmniej na poziomie pakietu.
Po poziomie pakietu widzę wiele programów Clojure, które są bardziej płaskie niż ich odpowiedniki w języku Java.
Powiązane problemy
- 1. Dlaczego projekty Angular 2 są tak duże?
- 2. Jakie bardzo duże funkcjonalne projekty językowe są swobodnie dostępne?
- 3. Duże projekty Android - jak przyspieszyć proces budowania?
- 4. Clojure performance, duże pętle nad dużymi wektorami
- 5. Jak przeprowadzić konwersję typu w Clojure?
- 6. Jak rozmieścić projekty zaplecza i frontendu, jeśli są one oddzielne?
- 7. Co to są dobrze napisane aplikacje Clojure typu open source (nie biblioteki)?
- 8. Gdzie są przechowywane projekty w Eclipse?
- 9. Jakie są popularne projekty open-source ember.js?
- 10. Zrzuty jądra Linuksa są zbyt duże!
- 11. podczas renderowania metapliku, teksty są za duże
- 12. Jak wymawiasz duże liczby szesnastkowe?
- 13. Jak przechowywać duże liczby?
- 14. Jak podzielić duże pliki?
- 15. Jak obsługiwać duże siatki?
- 16. Jak konstruować duże jądra OpenCL?
- 17. Jak używać typu spoza własnej przestrzeni nazw w clojure?
- 18. Jak definiujemy gramatykę dla kodu typu clojure za pomocą instaparse?
- 19. Jak usunąć projekty z listy Ostatnie projekty na stronie początkowej?
- 20. Jakie są niektóre zastosowania metadanych Clojure?
- 21. Konstruktorzy rekordów Clojure nie są pierwszymi klasami?
- 22. Jakie są przełomowe zmiany w clojure 1.3?
- 23. W jaki sposób projekty golang są pakowane do wdrożenia?
- 24. Jakie są duże różnice między wtyczką IntelliJ + Ruby a RubyMine?
- 25. Jak sprawdzić, czy dwie liczby są blisko Clojure
- 26. Jak tworzyć projekty dla dzieci?
- 27. Sql Server Deadlock Object ID są zbyt duże
- 28. Projekty wdrożeniowe nie obsługiwane przez msbuild: jakie są moje opcje?
- 29. Jak duże litery obiektów JavaScript?
- 30. Jak przechowywać wyjątkowo duże liczby?
Przestrzenie nazw Clojure są często używane w pakietach java, ale na pewno są inaczej implementowane z inną semantyką. Zobacz klasę klasy [clojure.lang.Namespace] (https://github.com/clojure/clojure/blob/d0c380d9809fd242bec688c7134e900f0bbedcac/src/jvm/clojure/lang/Namespace.java). Clojure ma koncepcję [libs] (http://clojure.org/libs), które są udostępniane jako zasoby java i zwykle udostępniają jedną przestrzeń nazw clojure. –