Alanxtl opened a new issue, #3644: URL: https://github.com/apache/dubbo-go/issues/3644
## 背景 这批任务面向 OSPP 新人,目标是通过小 PR 补齐 Dubbo-Go 中面向用户的导出注释,并补充对应模块的单测覆盖。 # 需要在评论区里面评论【认领 + 任务序号】 # 未认领的 PR 不予接受 # AI 生成的 PR 不予接受 # 对 OSPP 感兴趣的同学一定要通过 README 里面的方式加群沟通 # **please note that a complete AI PR is not welcome.** 目标仓库: dubbo-go https://github.com/apache/dubbo-go 提交 PR 的时候 @Alanxtl,我到时候会去看。 ## 任务总览 | 序号 | 任务名称 | 负责人 | 任务链接 | | --- | --- | --- | --- | | 1 | 补齐 Metrics / Probe 注释与单测覆盖 | 待认领 | [查看任务](#1-补齐-metrics--probe-注释与单测覆盖) | | 2 | 补齐 Registry Service Discovery 注释与单测覆盖 | 待认领 | [查看任务](#2-补齐-registry-service-discovery-注释与单测覆盖) | | 3 | 补齐 Metadata Info 注释与单测覆盖 | 待认领 | [查看任务](#3-补齐-metadata-info-注释与单测覆盖) | | 4 | 补齐 Triple Header / Error / Stream 注释与单测覆盖 | 待认领 | [查看任务](#4-补齐-triple-header--error--stream-注释与单测覆盖) | | 5 | 补齐 Router Chain / Script Router 注释与单测覆盖 | 待认领 | [查看任务](#5-补齐-router-chain--script-router-注释与单测覆盖) | ## 任务列表 ### 1. 补齐 Metrics / Probe 注释与单测覆盖 更新代码: - [metrics/options.go](https://github.com/apache/dubbo-go/blob/develop/metrics/options.go) - [metrics/probe/state.go](https://github.com/apache/dubbo-go/blob/develop/metrics/probe/state.go) - [metrics/probe/probe.go](https://github.com/apache/dubbo-go/blob/develop/metrics/probe/probe.go) - [metrics/probe/http.go](https://github.com/apache/dubbo-go/blob/develop/metrics/probe/http.go) - [metrics/probe/server.go](https://github.com/apache/dubbo-go/blob/develop/metrics/probe/server.go) - [metrics/rpc/error_classifier.go](https://github.com/apache/dubbo-go/blob/develop/metrics/rpc/error_classifier.go) 具体改法: - 补齐导出类型、导出方法、用户可见 option 的 Go doc 注释。 - 注释需要说明配置项作用、默认行为、影响的 metrics/probe 组件。 - 为 probe state、liveness/readiness/startup、path、port、internal state 增加或补齐单测。 - 为 RPC error classifier 增加边界错误、nil error、wrapped error 的测试覆盖。 验收方式: ```bash go test ./metrics/... ``` ### 2. 补齐 Registry Service Discovery 注释与单测覆盖 更新代码: - [registry/options.go](https://github.com/apache/dubbo-go/blob/develop/registry/options.go) - [registry/servicediscovery/customizer/metadata_service_url_params_customizer.go](https://github.com/apache/dubbo-go/blob/develop/registry/servicediscovery/customizer/metadata_service_url_params_customizer.go) - [registry/servicediscovery/customizer/metadata_service_version_customizer.go](https://github.com/apache/dubbo-go/blob/develop/registry/servicediscovery/customizer/metadata_service_version_customizer.go) - [registry/servicediscovery/customizer/protocol_ports_metadata_customizer.go](https://github.com/apache/dubbo-go/blob/develop/registry/servicediscovery/customizer/protocol_ports_metadata_customizer.go) - [registry/servicediscovery/customizer/service_instance_host_port_customizer.go](https://github.com/apache/dubbo-go/blob/develop/registry/servicediscovery/customizer/service_instance_host_port_customizer.go) - [registry/servicediscovery/customizer/service_instance_tag_customizer.go](https://github.com/apache/dubbo-go/blob/develop/registry/servicediscovery/customizer/service_instance_tag_customizer.go) - [registry/servicediscovery/customizer/service_revision_customizer.go](https://github.com/apache/dubbo-go/blob/develop/registry/servicediscovery/customizer/service_revision_customizer.go) 具体改法: - 补齐 registry option 和 service discovery customizer 的导出注释。 - 注释需要说明参数来源、写入的 metadata key、空值处理和覆盖行为。 - 为 registry option 到配置字段的映射补单测。 - 为 metadata 参数抽取、host/port 写入、revision/tag/version 写入补边界测试。 验收方式: ```bash go test ./registry/... ``` ### 3. 补齐 Metadata Info 注释与单测覆盖 更新代码: - [metadata/options.go](https://github.com/apache/dubbo-go/blob/develop/metadata/options.go) - [metadata/info/metadata_info.go](https://github.com/apache/dubbo-go/blob/develop/metadata/info/metadata_info.go) 具体改法: - 补齐 metadata option、report option、metadata info 结构和导出方法注释。 - 注释需要说明 app、metadata type、protocol、port、registry id、params 等字段用途。 - 为 metadata option / report option 增加 table-driven tests。 - 为 ServiceInfo 构造、method 获取、param 获取、空 map / nil 值增加单测。 验收方式: ```bash go test ./metadata/... ``` ### 4. 补齐 Triple Header / Error / Stream 注释与单测覆盖 更新代码: - [protocol/triple/triple_protocol/header.go](https://github.com/apache/dubbo-go/blob/develop/protocol/triple/triple_protocol/header.go) - [protocol/triple/triple_protocol/error.go](https://github.com/apache/dubbo-go/blob/develop/protocol/triple/triple_protocol/error.go) - [protocol/triple/triple_protocol/client_stream.go](https://github.com/apache/dubbo-go/blob/develop/protocol/triple/triple_protocol/client_stream.go) - [protocol/triple/triple_protocol/handler_stream.go](https://github.com/apache/dubbo-go/blob/develop/protocol/triple/triple_protocol/handler_stream.go) - [protocol/triple/triple_protocol/handler_stream_compat.go](https://github.com/apache/dubbo-go/blob/develop/protocol/triple/triple_protocol/handler_stream_compat.go) 具体改法: - 补齐 header、trailer、error、stream 相关导出 API 注释。 - 注释需要说明 client/server 侧使用场景、错误返回条件和 metadata 行为。 - 补充 SetHeader、SetTrailer、SendHeader、错误转换、stream 关闭路径的单测。 - 覆盖非法 context、重复调用、空 header/trailer、错误传播等边界情况。 验收方式: ```bash go test ./protocol/triple/triple_protocol/... ``` ### 5. 补齐 Router Chain / Script Router 注释与单测覆盖 更新代码: - [cluster/router/router.go](https://github.com/apache/dubbo-go/blob/develop/cluster/router/router.go) - [cluster/router/options.go](https://github.com/apache/dubbo-go/blob/develop/cluster/router/options.go) - [cluster/router/chain/chain.go](https://github.com/apache/dubbo-go/blob/develop/cluster/router/chain/chain.go) - [cluster/router/chain/cache.go](https://github.com/apache/dubbo-go/blob/develop/cluster/router/chain/cache.go) - [cluster/router/script/router.go](https://github.com/apache/dubbo-go/blob/develop/cluster/router/script/router.go) - [cluster/router/script/factory.go](https://github.com/apache/dubbo-go/blob/develop/cluster/router/script/factory.go) - [cluster/router/script/instance/js_instance.go](https://github.com/apache/dubbo-go/blob/develop/cluster/router/script/instance/js_instance.go) - [cluster/router/script/instance/instances_pool.go](https://github.com/apache/dubbo-go/blob/develop/cluster/router/script/instance/instances_pool.go) 具体改法: - 补齐 router chain、router option、script router、script instance pool 的导出注释。 - 注释需要说明 router chain 的调用顺序、cache 行为、script instance 生命周期。 - 补充 router chain 空路由、多个 router 顺序、cache 命中/失效的单测。 - 补充 script router 创建失败、脚本执行失败、instance 复用、并发获取的单测。 验收方式: ```bash go test ./cluster/router/... ./cluster/router/script/... ``` ## 验收标准 - 每个子任务可以单独提交 PR。 - 每个 PR 都需要包含注释和单测,不接受只补注释或只补测试。 - 注释需要符合 Go doc 风格,导出符号注释以符号名开头。 - 单测优先使用 table-driven tests,覆盖正常路径和边界路径。 - 不需要修改 website 文档。 - PR 描述里需要写明认领的任务序号和本地执行过的测试命令。 -- 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] --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
