och5351 commented on PR #4440:
URL: https://github.com/apache/streampark/pull/4440#issuecomment-5018128618

   ### Discussion: `InternalOptionSpec` interface naming
   
   This PR introduces `InternalOptionSpec` as a non-generic interface for 
`InternalOption<T>` to resolve SonarCloud S1452 (*Generic wildcard types should 
not be used in return types*) on `InternalConfigHolder.getConfig()`.
   
   The name `InternalOptionSpec` was chosen as a pragmatic placeholder — open 
to feedback on the preferred direction:
   
   **Option A — Keep `InternalOptionSpec`**
   - Follows Java convention (spec = specification/contract)
   - Minimal change: `InternalOption<T> implements InternalOptionSpec`
   
   **Option B — Restructure: `InternalOption` as interface, 
`InternalOptionImpl<T>` as class**
   - Cleaner public API — callers always reference the interface type
   - Larger blast radius: all `InternalOption<T>` field/return-type 
declarations in `CommonConfig`, `K8sFlinkConfig`, etc. would need updating
   
   Note: `ConfigOption<T>` already exists in this package with a different 
purpose, so that name is unavailable.
   
   Happy to rename or restructure based on reviewer feedback.


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to