Erlang和工具链

Erlang和工具链,erlang,Erlang,有没有人为Erlang开发出超高效的工作流和工具集?调试、原型制作、浏览、版本控制等 Smalltalk的集成映像系统给我留下了非常深刻的印象,但我想知道是否有什么东西可以通过Erlang实现。Erlang有一个非常强大的开发链,特别是如果您是EMACS专家的话。有一个特定于Erlang的构建系统,有对打包应用程序及其依赖项以进行部署的强大支持,不要忘记OTP 至于工具,有透析器、运行系统的实时跟踪、热代码加载(例如,您可以在不重新启动的情况下启用和禁用或向运行系统添加日志记录)、远程代码执行,

有没有人为Erlang开发出超高效的工作流和工具集?调试、原型制作、浏览、版本控制等


Smalltalk的集成映像系统给我留下了非常深刻的印象,但我想知道是否有什么东西可以通过Erlang实现。

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

至于工具,有透析器、运行系统的实时跟踪、热代码加载(例如,您可以在不重新启动的情况下启用和禁用或向运行系统添加日志记录)、远程代码执行,要了解的东西太多了,当您启动时会感到头晕目眩。

  • 艺术经纬:你想用什么就用什么。我在erlang的第一年使用了emacs,但目前我正在使用gedit
  • 版本控制:我喜欢git。似乎大多数erlang社区都同意这一点(大多数项目都托管在github上)
  • 工作流程:我建议您熟悉
以下是钢筋风格的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
    文件中。每次运行
    maketest
    时,您都会得到一个HTML格式的覆盖率报告
  • 将项目的依赖项添加到
    rebar.config
    中,您可以在运行
    make deps
    时获取并构建它们
  • 确保用edoc注释代码。如果您这样做,当您运行
    makedoc
    时,力霸可以生成所有文档

我也想知道和之间的区别。从我的笔记中,我记得Sinan/Faxien更多的是关于创建项目模板和依赖关系管理,而Rebar对于创建模块模板更有用。。。我的笔记已经有好几年的历史了,主要是针对像我这样的新手


-Todd

我知道我应该在某个时候学习emacs,但是作为一个ViGuy,这些工具中的哪些不能在Vi上使用?@ross没有一个需要emacs,所有这些工具都可以(并且可能应该)在Erlang shell中运行。Emacs带来的唯一东西就是标准的缩进规则和一个非常整洁的flymake模式。