erlang项目开发之-dialyzer和eunit
这个东西如果写,可能会写很长很长的篇幅,但是有悖erlang的精神,
我就挑选最精要的说,也是自己这几天学习到的一些东西。
一个项目,首先设计完成后,日夜赶工,写成了代码。这个时候,我们就要检验代码是否真实的表达了我们的意图。
dialyzer和eunit就派上用场了!
dialyzer偏向于static“静态”的代码分析,其主要完成以下工作:
1,可能出现的拼写错误
2,没有使用的代码和函数
3,无用的测试代码
如果想让dialyzer更高效出色的工作,就需要代码中的type(类型)和spec(函数)进行配合。
我们知道erlang是动态的语言,本身没有很多静态的信息,我们就是通过这些-type和-spec来规范代码的静态性。
具体的type和spec的说明,请参考:http://www.erlang.org/eeps/eep-0008.html
说明几点:type通常我们定义在一个hrl文件中,需要这个type信息的erl文件,只要include此头文件既可。每个module的所有的export函数都应该有spec信息.
验证了静态信息,我们还需要通过eunit测试我们的逻辑是否正确.当然这里只是单元测试.每次我们修改完代码以后,我们都可以重新进行单元测试,验证我们的模块,大大节省时间.
eunit文档:
http://svn.process-one.net/contribs/trunk/eunit/doc/overview-summary.html
dialyzer和eunit进行完以后,那么就集成测试了.最后期待能制作一个坚固的产品!