Introducing namespaces
Nobody has claimed this yet.
- Dominant language
- Elixir
- Stars
- 1.2k
- Forks
- 261
- Avg merge
- 2d 16h
- Merged PRs (30d)
- 13
Description
We want to create namespaces because you and I like Faker and want to keep the library organized and easy to use. Besides that, we need to determine great taxonomy to maintain and scale our modules.
I'm going to start suggesting a few namespaces for the current modules.
```
Faker.Bitcoin => Faker.Blockchain.Bitcoin
Faker.Cat => Faker.Creature.Cat
Faker.Team => Faker.Creature.Team
Faker.Team.En => Faker.Creature.Team.En
Faker.Pokemon => Faker.Fiction.Pokemon
Faker.Pokemon.En => Faker.Fiction.Pokemon.En
Faker.StarWars => Faker.Fiction.StarWars
Faker.StarWars.En => Faker.Fiction.StarWars.En
Faker.Superhero => Faker.Fiction.Superhero
Faker.Superhero.En => Faker.Fiction.Superhero.En
Faker.Beer => Faker.Objects.Beer
Faker.Beer.En => Faker.Objects.Beer.En
```
I'll try to come with taxonomy for the other modules soon. Feel free to suggest a few good namespaces. Your ideas are always welcome.
```
Faker.Address
Faker.Address.En
Faker.Address.Es
Faker.App
Faker.Avatar
Faker.Cat.En
Faker.Code
Faker.Code.En
Faker.Color
Faker.Color.En
Faker.Color.Es
Faker.Color.PtBr
Faker.Commerce
Faker.Commerce.En
Faker.Company
Faker.Company.En
Faker.Date
Faker.DateTime
Faker.File
Faker.Food
Faker.Food.En
Faker.Gov.Us
Faker.Industry
Faker.Industry.En
Faker.Internet
Faker.Internet.En
Faker.Internet.Es
Faker.Internet.PtBr
Faker.Internet.UserAgent
Faker.NaiveDateTime
Faker.Name
Faker.Name.En
Faker.Name.Es
Faker.Name.PtBr
Faker.Nato
Faker.Phone.EnUs
Faker.Phone.EnGb
Faker.Pizza
Faker.Random
Faker.Random.Elixir
Faker.Random.Test
Faker.String
Faker.Util
Faker.UUID
```
Lorem already looks ok, doesn't it?
```
Faker.Lorem
Faker.Lorem.Shakespeare
Faker.Lorem.Shakespeare.En
Faker.Lorem.Shakespeare.Ru
```
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
No files, tests, or entry points are named. Start by reviewing the existing Faker module layout against the proposed namespace mappings and the remaining modules listed in the issue. Done means the taxonomy is agreed and the implementation scope for reorganizing the modules is defined.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- elixir
- Domain
- tooling
- Issue type
- Refactor
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 20/100