Tôi tương đối mới đối với Clojure nhưng tôi đã nhận thấy nhiều dự án triển khai không gian tên "cốt lõi"; ví dụ. foobar.core
có vẻ là một mô hình rất phổ biến. Lịch sử đằng sau điều này là gì và tại sao lại là tiêu chuẩn de facto?Danh từ không gian tên "cốt lõi" bắt nguồn từ đâu?
Trả lời
Đó chỉ là tên chung thể hiện chức năng "cốt lõi" của một thứ gì đó. Các chức năng chính của Clojure tự xác định một ngôn ngữ lập trình mục đích chung, với các hàm rất chung chung mà bạn có thể cần trong nhiều lĩnh vực vấn đề khác nhau. Các chức năng chỉ áp dụng cho một miền vấn đề cụ thể đi vào các không gian tên miền cụ thể, chẳng hạn như clojure.string
hoặc clojure.set
.
Các công cụ như Leiningen không thể biết một tiên nghiệm những gì sắp xếp của một chương trình mà bạn đang cố gắng để viết, để họ đặt bạn lên với một không gian tên foo/core
theo mặc định, mô hình sau clojure.core
- clojure.core
là các chức năng cốt lõi của Clojure, foo.core là chức năng cốt lõi của foo.
Nếu bạn có thể cung cấp cho tên miền chính của mình một tên ít chung chung hơn hoặc chỉ sử dụng foo/core
để khởi động khả năng khởi động (chẳng hạn như bằng cách giữ chức năng -main
), điều đó được khuyến khích, để phần lớn mã của bạn sẽ cư trú trong ý nghĩa ngữ nghĩa hơn không gian tên thay thế. Điều này giúp bạn tìm mã cụ thể mà bạn muốn làm việc sau này.
- 1. Gói không gian tên có phần cốt lõi?
- 2. Tên thực thể danh sách dữ liệu cốt lõi
- 3. Các không gian tên UUID đến từ đâu?
- 4. iOS: Dữ liệu cốt lõi và không gian đĩa
- 5. nodejs bắt đầu từ đâu?
- 6. Tên Psycopg` đến từ đâu?
- 7. Tên 'atoi` đến từ đâu?
- 8. Học tập R. Bắt đầu từ đâu?
- 9. Không gian tên System.Windows.Forms.Integration ở đâu?
- 10. Trình duyệt mặc định trên Android 4 bắt nguồn từ đâu?
- 11. Danh sách các loại thuộc tính Dữ liệu cốt lõi?
- 12. thời gian thực vẽ trên iPhone bằng cốt truyện cốt lõi?
- 13. Không thể kết nối với Dịch vụ cốt lõi Tridion từ máy khách Android
- 14. Đâu là không gian tên của ConfigurationManager?
- 15. Có thể cấm bắt nguồn từ một lớp học tại thời gian biên dịch không?
- 16. Phương pháp chuỗi từ không gian tên
- 17. cốt lõi cốt lõi: vẫn không hiểu làm thế nào để có nhãn tùy chỉnh VÀ ve
- 18. Bắt tên hiển thị từ PackageID
- 19. Microsoft.Practices.ServiceLocation đến từ đâu?
- 20. nơi tải xuống nền tảng cốt lõi nguồn mở của Apple?
- 21. Tự động tạo mô hình dữ liệu cốt lõi tại thời gian chạy
- 22. nhầm lẫn về quartz2d, đồ họa lõi, hoạt hình lõi, hình ảnh cốt lõi
- 23. Lớp trừu tượng bắt nguồn từ lớp không trừu tượng
- 24. không gian tên ẩn danh
- 25. SSO đa nền tảng - bắt đầu từ đâu?
- 26. Dữ liệu cốt lõi và NSOperation
- 27. Tập tin cốt lõi của tôi ở đâu sau khi segfault?
- 28. Dữ liệu cốt lõi: Truy vấn đối tượngID trong một vị từ?
- 29. OpenGL 3.2 Cấu hình cốt lõi glLineWidth
- 30. "Dữ liệu cốt lõi không thể hoàn thành lỗi .." lỗi
Có thể chỉ tuân theo quy ước 'clojure.core'. Tuy nhiên, Stuart Sierra và những người khác đang outspoke về mọi thư viện (và các dự án Leiningen mặc định) lạm dụng 'whatever.core'. – noahlz
Mẹo chuyên nghiệp: 'lein new foo.bar' sẽ tạo' foo/bar' thay vì 'bar/core'. – vemv
@noahz bạn có liên kết không? Tôi tò mò muốn đọc ý kiến của Stuart về việc này. – maxcountryman