Erlang和工具链

时间:2011-02-23 00:20:56

标签: erlang

有没有人为Erlang制定了超高效的工作流程和工具集?调试,原型设计,浏览,版本控制等。

我对Smalltalk的集成图像系统印象非常深刻,但是想知道是否有些东西甚至可以用Erlang接近它。

3 个答案:

答案 0 :(得分:7)

Erlang拥有非常强大的开发链,特别是如果您是EMACS专家。有一个Erlang特定的构建系统,有强大的支持来打包你的应用程序及其部署的依赖关系,不要忘记OTP。

对于工具,有Dialyzer,运行系统上的实时跟踪,热代码加载(例如,您可以启用和禁用或添加日志记录到正在运行的系统而不重新启动它),远程代码执行,有这么多当你开始学习时,它会让人眼花缭乱。

答案 1 :(得分:5)

  • 编辑:你可以随意使用。我使用emacs作为我第一年的erlang,但我现在正在使用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
  • 时构建所有文档

答案 2 :(得分:1)

我也想知道Sinan/FaxienRebar之间的区别。从我的笔记中,我记得Sinan / Faxien更多的是关于创建项目模板和依赖管理,而Rebar对于创建模块模板更有用...我的笔记是here,已有几年了,旨在引导erlang新手(像我一样)。

-Todd