实时代码分析 —— Premium 专属的静态检查能力
什么是代码分析
代码分析(Code Analysis / Linting)指的是在不实际运行代码的情况下,通过静态扫描发现潜在问题:
- 名称拼错(
pritn而不是print) - 调用了没有 import 的模块
- 类型不匹配(把 int 传给期望 str 的参数)
- 逻辑错误(
a = None而不是a is None) - 未使用的变量和 import
Python 是动态类型语言,很多这类错误只有在 Run 之后才会抛异常(或者更糟——不抛异常但结果不对)。代码分析就是提前把它们揪出来。
Pydroid 的代码分析(Premium 专属)
Premium 版的 Settings → Code analysis 面板里可以开启/关闭代码分析。开启后:
- 编辑器里敲代码时后台会跑一轮静态分析
- 检测到的问题用红色/黄色波浪下划线标在代码里
- 某些版本还会在侧边栏弹出问题列表
免费版只有语法错误检测(括号不匹配、缩进错误等),运行前才扫描一次。
分析器的能力边界
Pydroid 的代码分析器不是 PyCharm 或 VS Code Pylance 那样的重量级 LSP——它的设计目标是移动端轻量实时检查,不是完整的类型推断。
它能检测的:
- ✅ 名称未定义(变量/函数/模块名拼写错误)
- ✅ 基础语法错误
- ✅ 简单的类型不匹配(比如
str + int) - ✅ 未使用的 import
- ✅ 常见逻辑模式(
=vsis等)
它检测不到的:
- ❌ 复杂的类型推断(泛型、协议、抽象基类)
- ❌ 跨文件的类型追踪
- ❌ 第三方库内部逻辑的问题
- ❌ 自定义类型提示(Type Hints)的完整理解
要不要开启
- 学习阶段 / 新手:强烈建议开启——能帮你即时发现拼写错误和基础逻辑问题,比 Run 了之后再看 traceback 效率高
- 有经验的开发者:看个人习惯。如果你已经有一套自己的检查流程(写完 Run 一下就知道有没有错),可以关掉省一点 CPU/内存
- 低端机型:建议关掉——实时代码分析持续消耗 CPU,可能影响编辑器流畅度