背景: 在试图改善 dify 的 codebase, 但是遇到了问题

  1. 代码 25w 行, 需要快
  2. 类型很混乱, 需要工具的 infer 能力足够好
  3. 能在 ci 里面跑

于是工具大逃杀

mypy 太慢

basedpyright .. well, in typescript, memory footprint is huge

ty not support TypeAlias

pyright: < basedpyright

zuban: crash (for now)

pylance: 根据 ToS 不能在 ci 跑

于是引入, 同时给 pyrefly 开了一页的 issue

开发者就找上门来了: 我们希望听用户的反馈改进产品, 以及希望是能交流的用户.

我因为提的 issue 质量都比较好就被选中了, 然后聊了很久.

一些 thought:

开有意义的 issue 是很重要的

和开发者去交流使用体验, 来帮助改进产品.

开发者一般关注正确性, 用户会更关注 UX