akaHenry
2023-09-06 10:24:07 +08:00
Type Hints 是政治正确. (就算很多人日常不加, 恐怕也装装样子鼓励他人加)
Type Hints 当然是好, 但是有开销. (加不加, 加多少, 看具体场景/维护成本/代码生命周期, 以及你和团队会几门语言.)
应该加:
1. 团队(个人) 只会/只用 python 开发, typing 和 Pydantic 都用起来.
2. 单元测试, 写起来, 至少覆盖核心链路. (这比 Type Hints 更容易保障质量和正确使用, 如果时间仅够二选一, 宁愿你写单元测试)
少加/不加: (CPyUG 老炮的场景)
1. 个人项目, 生命周期很短(活不久)的代码. 加了没收益.(怎么快, 怎么来)
2. 多技能栈(Python + Rust, Go 等) 组合. 充分利用动态语言的灵活性, 少加/不加. 需要强约束/性能场景, 直接切 rust/go.
3. 老司机, 写的代码, 可读性好. 加不加, 不影响阅读. (废话, 没有 Type Hints 之前的 10 多年, 大家照样写的飞起)
4. 一次性的脚本, 用完就扔(厕纸代码, 活不过明天). 没必要脱裤子放屁.
个人选择:
1. 作为写了比较久 python 的( py2.5 开始的), CPyUG 说不加 Type Hints 的人不少. 很正常.(在很多场景, 不用, 也都对)
2. 加当然好, 但是要平衡成本和收益. (年轻人, 容易沉迷于写太多没 转化率(不赚钱) 的代码)
3. 我日常会加, 但保持克制. (少用和不用 Pydantic, 有开销).
4. python 已经不是我的主力语言, 用 python 更多是为了快速糊东西和验证技术/产品原型. 一旦验证通过, 很快就会迁移到 rust, go 等重写. 所以, 写 python, 就更追求 怎么快, 怎么来. (代码活不久, 没必要写太好)
以上来自 写了 10 多年 python 的开发者的一点看法.
(当然, mojo 1-2 周, 就要发布了, 喜欢写 Type Hints, 来写 mojo 吧)
免杠指南:
我只是说了 不加/少加 的场景, 你要杠, 你对.