为何OkHttp4.x使用replaceWith禁止开发者调用response.code()获取响应码?
OkHttp4.x 禁用
response.code() 的原因 OkHttp4.x 是完全基于 Kotlin 重写的版本,核心目的之一是贴合 Kotlin 的编码规范与语言特性,禁用 response.code() 主要有以下几点原因:
- 贴合 Kotlin 语言习惯:Kotlin 更推崇直接的属性访问,而非 Java 风格的 getter 方法。原来的
response.code()是 Java 时代遗留的写法,在 Kotlin 中对应的等价实现是response.code属性,直接访问属性更符合 Kotlin 的简洁编码风格。 - 强制完成 API 迁移:通过
Deprecated(level = DeprecationLevel.ERROR)将旧方法标记为编译错误,能确保开发者在编码阶段就发现问题,避免遗留旧写法导致的潜在兼容隐患,同时replaceWith参数明确给出了替代方案,降低迁移成本。 - 统一整体 API 风格:OkHttp4.x 对全量 API 做了 Kotlin 化改造,把大量 Java 风格的 getter/setter 都替换成了 Kotlin 属性,
code()方法的禁用是这一统一风格改造的一部分,让整个 API 体系更符合 Kotlin 开发者的使用预期。
内容的提问来源于stack exchange,提问作者peter
相关产品推荐
相关产品推荐

