【问题标题】:Elixir: lint for confirming that every function has type sepcificationElixir:用于确认每个函数都有类型说明的 lint
【发布时间】:2014-05-12 21:53:41
【问题描述】:

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

【问题讨论】:

    标签: lint elixir


    【解决方案1】:

    有一个 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 发出警告。这正在修复中,甚至可能在您看到它时修复,但需要注意这一点。

    【讨论】:

    • 由于+warn_missing_spec 是编译器开关,所以必须用ERL_COMPILER_OPTIONS 指定(这实际上是一个Erlang 标志)。另一个标志用于运行时选项(基本上一个用于 erlc,另一个用于 erl)。
    • 感谢何塞的澄清!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2022-01-21
    • 1970-01-01
    • 2018-04-29
    • 2013-08-06
    • 1970-01-01
    • 2021-03-10
    • 1970-01-01
    相关资源
    最近更新 更多