我对Go Code Review Comments Wiki提及以下内容感到很困惑:
不要在“用于模拟”的API的实现方定义接口;而是设计API,以便可以使用实际实现的公共API对其进行测试。
参考:Go Code Review Comments: Interfaces
它建议在用户端定义接口,但这似乎与标准库(例如net/http
,io
等如何暴露接口以允许插入功能相矛盾)。
此文档是否指仅出于嘲笑目的创建接口不是一个好习惯?因此,当有实际用例时,我们应该在实现包一侧定义接口吗?