2016-04-08 37 views
2

Bu soruyu ve cevaplarını gördüm ancak core.clj dosyasını en iyi şekilde paylaşabilmeleri için bir kütüphaneyi kolayca paylaşabilecekleri ve anlayabilecekleri noktayı çok az özlediler.core.clj'yi kurmanın en iyi yolu nedir?

What is the purpose of core.clj file?

Bir cevap istediğimiz bir şey yapmak ama muhtemelen olmamalı söyledi. :) En az direnç yolunu arıyorum, yani core.clj öyle.

Ancak başka bir yanıt, kullanıcıların kütüphaneme erişim sağlamak için bu yolu kullanacağını söyledi. Bu, geri çekime sahip olduğumu düşünmemi sağlıyor, çünkü çekirdek birkaç temeldir. Bunun yerine, core.clj (onun ad alanı) diğer yollarımı çekmesi ve etkin bir şekilde API'sini kullanması gibi görünüyor.

+0

Çok önemli değil. Çekirdeği kullanmayan bir kütüphane örneğidir (https://github.com/mishadoff/numberto/tree/master/src/numberto) ve işte bu (https://github.com/davidsantiago/clojure -csv/ağaç/ana/src/clojure_csv). Her şey kütüphanenizi nasıl yapılandırdığınıza bağlıdır. – endbegin

cevap

0

Bağlantınız için accepted answer gibi, core ad alanı genellikle bir uygulamaya veya kitaplığınıza giriş noktasını (noktalarını) saklar. Bu söyleniyor, bu sadece bir kongre, bir gereklilik değil, teknik olarak core modülüne sahip olmanıza gerek yok. senin core modüllerin ise

diğer kod parçaları tarafından kullanılan sadece bir kaç temel tutar ve size kütüphane kullanıcılarının giriş noktaları olarak, muhtemelen sizin adlandırmak daha iyi olurdu ad yourlib.foobar işlevleri foo ve bar demeni beklemiyorum Kullanıcıların kütüphanenizin kodunu kontrol etmesini engellemek için başka bir şeye core modülü ekleyin. Ancak, gördüğüm önemli bir model, bazı kişilerin modülünde (yourlib ad alanı, yourlib.yourlib değil) giriş noktalarını/işlevlerini, yourlib.core'daki işlevlere çağırmak için ince bir cepheye hizmet ettikleridir. Yani, bir anlamda, yourlib.core gerçekten kütüphanenizin "çekirdeği" dir, ancak giriş noktalarını kendisi sağlamaz.

İlgili konular