2010-11-14 12 views
10

Nauczyłem się jakiegoś Clojure, a obecnie mam pojedynczy plik .clj, który edytuję w edytorze tekstu i który wykonuję w linii poleceń.Jak organizować, testować, dokumentować i pakować projekt Clojure

Gdzie mogę znaleźć poradnik na temat praktycznych aspektów skalowania tego do większych programów/bibliotek?

  • Jak rozmieścić wiele plików .clj w systemie plików?
  • Jak zorganizować i wykonać kod testowy?
  • Jak powinienem dokumentować program/bibliotekę?
  • Jak ją spakować?

Szukam informacji na temat praktycznych aspektów dotyczących skalowania od małych skryptów do czegoś rzeczywistego.

Odpowiedz

12

Polecam używając leiningen. Uruchamianie

$ lein new myproject 

utworzy nowy folder o nazwie myproject wewnątrz aktualnego katalogu roboczego o konstrukcji szkieletowej domyślne.

Wewnątrz nowo wytworzonej myproject folderze znajdziesz (między innymi) w folderze o nazwie src do kodu źródłowego Clojure i folder o nazwie test dla swoich badań (Leiningen wygeneruje domyślny niepowodzeniem próbę).

Leiningen pozwoli Ci uruchomić testy z lein test.

Możesz spakować swój projekt jako plik jar z numerem lein jar lub utworzyć plik uberjar (plik wykonywalny zawierający wszystkie wymagane zależności) z lein uberjar.

Do generowania dokumentacji zalecam autodoc, która dobrze się integruje z leiningen.

+0

Leiningen wygląda idealnie, zawiera ładny samouczek na temat jego działania: http://github.com/technomancy/leiningen/blob/master/TUTORIAL.md – pauldoo

2

Jeśli używasz Netbeans, istnieje wtyczka Clojure, która może być pomocna.

Utworzenie z nim projektu Clojure tworzy grupę folderów: Pakiet źródłowy, który zawiera domyślny pakiet o nazwie com.yourcompany, Pakiety testowe, Biblioteki, który zawiera .jar dla Clojure i link do JDK, i Test Biblioteki zawierające JUnit.

+1

Czy JUnit jest zalecany do testowania Clojure? Spodziewałbym się, że pojawi się coś więcej niż Clojure. – pauldoo

+1

Możesz znaleźć więcej informacji o testowaniu jednostkowym w Clojure tutaj: http: // en.wikibooks.org/wiki/Clojure_Programming/Tutorials_and_Tips#Unit_Testing_in_Clojure –