Fix SonarQube High severity issues: string duplication and cognitive complexity #23
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.


Summary
Fixes 4 High severity SonarQube issues by addressing string duplication (go:S1192) and cognitive complexity (go:S3776) problems identified in the codebase.
Requested by: @eashansinha
Devin session: https://app.devin.ai/sessions/7f34a5c6f77949e1868ae5ef163f4e79
Changes Made
String Duplication Fixes (go:S1192)
ErrFailedToGetGitHubClientconstantDescRepositoryOwnerandDescRepositoryNameconstantsCognitive Complexity Fixes (go:S3776)
mainfunction incmd/mcpcurl/main.go- Refactored into 4 focused helper functions:setupRootCommand()- Command setup and flag parsinggetPrettyPrintFlag()- Flag retrieval with error handlingloadToolsFromServer()- Schema fetching and tool generationexecuteRootCommand()- Command executionGetFileContentsfunction inpkg/github/repositories.go- Broke down 130+ line function into 6 helper functions:extractFileContentsParams()- Parameter validationbuildRawContentOpts()- Pull request reference processingtryGetRawFileContent()- Raw file content fetchingbuildFileContentResult()- Response building for filesbuildResourceURI()- Resource URI constructiongetDirectoryContent()- Directory content fetchingTesting
go test ./...)GetFileContentstests verifiedgo build ./...)Review Focus Areas
Medium Priority:
Tradeoffs
The refactoring maintains 100% functional equivalence while significantly reducing cognitive complexity and eliminating string duplication as identified by SonarQube.