Move prefix generation from Object to Options
Community Contribution License
All community contributions in this pull request are licensed to the project maintainers under the terms of the Apache 2 license. By creating this pull request I represent that I have the right to license the contributions to the project maintainers under the Apache 2 license.
Description
Move prefix generation logic from Object.setPrefix(Options) to Options.GeneratePrefix(), improving separation of concerns:
- Add Options.GeneratePrefix() method in options.go
- Update randomSrc to set Prefix directly from GeneratePrefix()
- Remove Object.setPrefix() method from generator.go
Object no longer needs knowledge of Options internals.
Motivation and Context
Better separation of concerns makes the object prefix easier to reason about, test (if necessary), and maintain patches against (if necessary).
Broken out of #432
How to test this PR?
Any standard regression testing; should cover no flags, just --prefix, just --noprefix and --prefix and --noprefix.
Types of changes
- [ ] Bug fix (non-breaking change which fixes an issue)
- [ ] New feature (non-breaking change which adds functionality)
- [ ] Optimization (provides speedup with no functional changes)
- [ ] Breaking change (fix or feature that would cause existing functionality to change)
Checklist:
- [ ] Fixes a regression (If yes, please add
commit-idorPR #here) - [ ] Unit tests added/updated
- [ ] Internal documentation updated
- [ ] Create a documentation update request here