christopheradams/elixir_style_guide

Module naming with singular vs plural parent directory

開放

#160 建立於 2017年11月13日

 (1 則留言) (5 個反應) (0 位負責人)Elixir (300 個分叉)batch import
enhancementhelp wanted

倉庫指標

星標
 (4,429 顆星)
PR 合併指標
 (30 天內沒有已合併 PR)

描述

There should be a rule that handles naming modules based on whether the parent directory is plural or singular.

The most notable example of this is Phoenix. If you look at how Phoenix structures controllers you can see that it follows a different naming convention than what is specified in the style guide.

For example, a controller at the following path my_app/controllers/home_controller.ex will be named MyApp.HomeController. According to the style guide, it should be named MyApp.Controllers.HomeController.

Given that Phoenix is probably the most prominent project in Elixirland I think it makes sense to create a rule to accommodate this style.

If a parent directory name is plural than the module author may choose to omit the parent directory in the module name. In this case, a singular form of the parent directory name must be appended to the file name. The module name will reflect the file name.

For the directory structure my_app/controllers/home_controller.ex the module name MyApp.HomeController is valid.

If the module author does not omit the parent directory than the current rules apply.

Let me know what you think!

貢獻者指南