假设我在一个应用程序中创建了多个助手模块:
defmodule MyApp.Helpers.Uri do
@moduledoc """
A collection of string helpers.
"""
end
defmodule MyApp.Helpers.Crypto do
@moduledoc """
A collection of crypto helpers.
"""
end
创建一个空的“父”模块是一种好习惯吗?
defmodule MyApp.Helpers do
@moduledoc """
Gather all my app helpers.
"""
end
我想不是,因为从我阅读的所有代码中,模块名称的最后一部分使用复数似乎是一种错误的做法。但我想确定。
答案 0 :(得分:2)
正如@ 7stud所评论的那样,在命名空间中使用点仅仅是一个普遍接受的约定,甚至在Elixir core code中也使用了约定。这样做只是为了轻松防止名称冲突(通过与名称匹配的路径来加强)。
因此添加一个空的中间模块似乎是不必要的。
正如@ brett-beatty所评论的那样,关于在模块名后面使用复数,似乎没有任何通用的惯例可以对此做出裁决。如果我们遵循最受欢迎的Elixir style guide规则,那么唯一的约定就是use CamelCase和matching the project directories path。
注意:我收集了评论以结束这个问题。