Elixir:lint用于确认每个函数都有类型规范

时间:2014-05-12 03:20:57

标签: lint elixir

是否有Elixir的lint(比如Javascript)检查每个函数是否都有类型规范?

1 个答案:

答案 0 :(得分:4)

有一个Erlang编译器开关,+warn_missing_spec,它可以做到这一点,但我现在无法让它与Elixir一起使用,我认为它有一个错误,它解析了ELIXIR_ERL_OPTS环境变量这是将+warn_missing_spec转换为-warn_missing_spec而不是有效的编译器选项。我打算在跟踪器上打开一个问题,但是你可能想知道这确实存在。

编辑:正如José在下面提到的,正确的标志是ERL_COMPILER_OPTIONS。您可以通过执行以下操作在编译期间启用缺少的规范警告:

ERL_COMPILER_OPTIONS="warn_missing_spec" mix compile

请记住,对于像__MODULE__这样的功能,您可能会收到来自Elixir本身的多余警告。它应该仍然有用。最后要注意的一点是,我今天早上发现使用mix compile这个标志时出现了问题,而且它目前只是关于mix.exs的警告。这是固定的,甚至可以在你看到它的时候修复,但这是需要注意的事情。