- When importing a
Model, it's OK to use the module name as is. - For all other services, add a qualifier sufix, like
QueryorAction - Does not apply for
Repoand other "special" modules.
Examples:
alias HELL.PK
alias Helix.Server.Model.Server
alias Helix.Server.Repo
alias Helix.Hardware.Model.NetworkConnection
alias Helix.Hardware.Query.Motherboard, as: MotherboardQuery
alias Helix.Log.Action.Log, as: LogAction- First external modules (ie: dependencies)
- Then "special" modules (First
HELL.*and thenHelix.Event) - Then modules from other domains
- Then modules from same domain
All alphabetically ordered.
Eg: (assuming we are on the Account domain)
alias Comeonin.Bcrypt
alias HELL.PK
alias HELL.IP
alias Helix.Event
alias Helix.Hardware.Query.Motherboard, as: MotherboardQuery
alias Helix.Server.Action.Server, as: ServerAction
alias Helix.Server.Model.Server
alias Helix.Server.Query.Server, as: ServerQuery
alias Helix.Account.Model.AccountOpen questions:
- How to deal with really large sub modules, like process/TOP and Universe/NPC?
- Sug: Add sub-module name as sufix. Eg: ServerResourcesTOP
- Sug: Use composed module names. Eg:
alias Helix.Process.TOP;TOP.ServerResources