问题描述
开发Erlang的哲学同样适合于开发以Erlang为基础的系统。引用Erlang的三个发明人之一的Mike Williams的话: 找到设计原型的正确方法。 只有想法还不够,还必须实现它们并且懂得它们如何运行。 允许小范围内犯错,但绝不能发生在产品级项目上。 按照上面所引用的话,所有成功的Erlang项目都应从一个原型开始,而且Erlang完全支持获得原型所需的特性,并运行快速。工作原型通常包括一个功能性的子集,并允许端到端的系统**。例如,如果你正在建立一个即时通信服务器(在本书中反复出现的一个主题),有效的功能**包括有能力进行提示和发送消息到远程服务器,而不必担心如冗余、持久性和安全性等问题。 采用Erlang进行软件开发可以通过使用敏捷方法得到最好的实现,并在较短的循环周期内,逐步提供功能不断增加的系统。开发小组应该尽量小规模进行,如果条件允许,应该进行自动**。本书的“集成与开放”小节所提到的Erlang可用工具,为软件开发提供了极为有利的支持和帮助。计算机辅助**由EUnit进行单元**,系统**通过共同**完成。其他工具包括cover(用于覆盖分析);还有Dialyzer(透析器),这是一个静态分析工具,用于确定软件的缺陷,如输入错误、死代码和不安全代码。 如果你打算把Erlang引入到你的组织中,那么从小处着手是一个很好的策略。引入小项目(或小系统),从而发挥Erlang的优势。这一策略对于Erlang尤其适合的原因,在于它从设计一开始就内置地支持分布式和集成,就如我们在“集成与开放”小节中所描述的那样,并且所有的产品级Erlang系统都虚拟地和其他语言与系统互联。一旦你在小范围内获得了成功,那么就可以考虑往更大规模发展了。 本书的网站和附录部分介绍了你可以去哪里了解Erlang的链接、协助程序开发的工具以及Erlang团体。但是现在,是我们开始工作的时间了。