现状与证据
_as_non_empty_str 在 apps 与 src/cobnet 中出现重复,语义相同:
apps/client/sdk/docs/docspec.py:106
apps/client/sdk/docs/tools.py:44
src/cobnet/net/analysis/view/governance.py:27
定义返回逻辑均为:isinstance(value, str) and value.strip();返回该值或 None。
建议
将通用实现统一到 src/cobnet/backplane 的轻量类型辅助层(或更合适的共享层),避免文档工具和 net 分析模块重复维护。
验收
- 统一抽取为单点 helper 并替换以上 3 处。
- 增加边界测试:空字符串、空白、
None、非字符串。
现状与证据
_as_non_empty_str在apps与src/cobnet中出现重复,语义相同:apps/client/sdk/docs/docspec.py:106apps/client/sdk/docs/tools.py:44src/cobnet/net/analysis/view/governance.py:27定义返回逻辑均为:
isinstance(value, str) and value.strip();返回该值或 None。建议
将通用实现统一到
src/cobnet/backplane的轻量类型辅助层(或更合适的共享层),避免文档工具和 net 分析模块重复维护。验收
None、非字符串。