2011-02-23 50 views
8

有沒有人爲Erlang制定了一個超高效的工作流程和工具集?調試,原型設計,瀏覽,版本控制等。Erlang和Toolchains

我對Smalltalk的集成圖像系統印象非常深刻,但想知道是否有什麼東西可以用Erlang來接近它。

回答

7

Erlang有一個非常強大的開發鏈,尤其是如果你是EMACS maven的話。有一個特定於Erlang的構建系統,對打包應用程序及其依賴項進行部署有強大的支持,並且不要忘記OTP。

至於工具,還有Dialyzer,實時跟蹤正在運行的系統,熱代碼加載(例如,啓用和禁用或將日誌記錄添加到正在運行的系統而不重新啓動),遠程代碼執行當你開始的時候,要學的東西很令人頭暈。

+0

我知道我應該在某些時候學習Emacs,但作爲一個ViGuy,其中這些工具不能在六中使用? – 2011-02-23 05:35:01

+1

@ross它們都不需要Emacs,它們都可以(也可能應該)在Erlang shell中運行。 Emacs給表格(imo)帶來的唯一東西就是標準縮進規則和一個非常整潔的flymake模式。 – Lukas 2011-02-23 09:25:59

5
  • 編輯器:你可以使用任何你想要的。我在erlang的第一年使用了emacs,但我目前正在使用gedit。
  • 版本控制:我喜歡git。似乎大多數erlang社區都認同(大多數項目都在github上)。
  • 工作流程:我建議您熟悉rebar

這裏是鋼筋味的Makefile的例子:

REBAR := ./rebar 

.PHONY: all deps doc test clean release 

all: deps 
    $(REBAR) compile 

deps: 
    $(REBAR) get-deps 

doc: 
    $(REBAR) doc skip_deps=true 

test: 
    $(REBAR) eunit skip_deps=true 

clean: 
    $(REBAR) clean 

release: all test 
    dialyzer --src src/*.erl deps/*/src/*.erl 

下面是一些基本指針:

  • 把你的單元測試在同一模塊的代碼,他們正在測試。有關詳細信息,請參閱鋼筋維基。
  • {cover_enabled, true}加到您的rebar.config文件中。每次運行make test時,都會獲得HTML格式的覆蓋報告!
  • 將您的項目依賴關係添加到您的rebar.config,並且在運行make deps時可以獲取並生成它們。
  • 確保使用edoc評論你的代碼。如果你這樣做,當你運行make doc時,鋼筋可以建立你的所有文檔。
1

我想知道Sinan/FaxienRebar之間的差異。從我的筆記中,我記得Sinan/Faxien更多的是關於創建項目模板和依賴管理,而Rebar對於創建模塊模板更有用...我的筆記是here,已有幾年歷史了,旨在引導erlang新手(像我一樣)。

-Todd