refactor(config): extract supported config keys into a single source of truth - #655
Merged
lizhengfeng101 merged 1 commit intoAug 1, 2026
Conversation
…of truth The supported top-level config keys lived both in the switch/case in setConfigValue and, hardcoded again, in the unknown-key error message, so adding a key meant updating two places. Move them into a supportedConfigKeys slice and generate the error message from it. The message content is unchanged. Closes alibaba#637
Contributor
|
✅ OpenCodeReview: No comments generated. Looks good to me. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
setConfigValuekept the list of supported top-level config keys in two places — theswitch/casebranches and, hardcoded again, the "Supported keys:" line of the unknown-key error. Adding a key meant updating both, and it was easy to forget the error text.This moves the keys into a
supportedConfigKeysslice and builds the "Supported keys:" part of the message from it withstrings.Join, so the two can't drift. The message content is byte-for-byte unchanged.Added
TestSetConfigValueUnknownKeyMessage, which pins the full message and checks it is generated fromsupportedConfigKeys.go test ./...andmake checkpass.Closes #637
Disclosure: prepared with AI assistance.