本文由Markdown语法编辑器编辑完成。
1. 背景:
对于有一些洁癖的程序员来说,一般都不希望, 自己在打开的编辑器里面,看到代码下面带有波浪线等警告。这时候一般有两种解决方案:
1> 关闭警告,不去理会哪些警告, 类似于掩耳盗铃;
2> 根据波浪线下面的提示,一条一条地修改, 直至这些波浪线全部都消失。
我曾经试过第2条,但无奈这样修改起来,非常地费时间,而且大部分的提示,都是一些格式方面的要求,如返回值的类型,和设置的不吻合了; 或者是,定义的数据类型,不太清楚了等等。
还有一些是,在python代码的顶部的import, 可能很多装的库,在你的虚拟环境中没有,导致它无法解析那些modules, 而在下面生成波浪线。
于是,大概在两年前,我关闭了VSCode的Pylance的警告和波浪线。瞬间,VSCode的窗口,就清爽很多了。打开编辑器,基本上没有任何的标识符。
但是,就在最近,我觉得我错了。
一些比较明显的代码问题,在清爽的VSCode编辑窗口中,没有任何的提示。但是,这会给人一种错觉,就是认为自己的代码写得很规范。直至,上一次当我提交代码到主分支后,在测试时遇到了报错。而报错的原因,就是因为引用了一个超出它声明作用域的变量,导致运行时报错,程序无法正常结束。
而后,又有一次,当同事在基于我的提交,做别的修改时,也指出了代码中,明显有漏洞的地方。虽然由于那段代码,99%的情况下,是不会走到那个分支的;但是一旦走到那个地方,肯定又是一个运行时报错。
我当时也比较疑惑,为什么VSCode, 你就不能像Pycharm那样,给我一些提示呢。
当我把鼠标挪到那个变量声明的地方,那里也会有弹出的一个提示,写的是: (variable xxxxxx: Unbound)的提示.
但是,这个变量下面却没有波浪线。而这是一个潜在的BUG.
于是,我终于下定决心,还是要把相关的代码检查打开,不让自己再犯这种低级的错误。
2, 打开/关闭 VSCode中的Pylance的警告提示
明确了目标以后,再去进行相关的插件设置,就可以了。
在VSCode中,我是安装了Pylance的插件,这个插件,是专门用来对python的代码,进行静态校验的。
以下是vscode中,对于该插件的基本介绍.
如果要开启错误的提示,需要打开这个插件的设置页面, 也就是点击这个插件介绍右面的小齿轮。
进入插件的设置页面后,拖到这里:
Python > Analysis: Type Checking Mode.
这里就是用来定义,对于type checking的严格程度。
默认是off, 关闭状态。
可以切换至: basic和strict.
根据我的经验,我切换成basic后,就基本能够满足我的需求了。
以下是我修改了校验的严格程度, 从off 修改为 basic后。
再来查看刚才提示 variable Unbound的地方,就会在有问题的变量下方,出现红色的波浪线。
而且,当我调整后,我的代码中,瞬间出现了很多的红色波浪线。虽然这大部分波浪线,是未影响代码的正常运行的。但是,有它们的存在,就是在提示我,你的代码,还是有很多的地方,亟待完善的。就像是,我在写代码的时候,旁边坐着一个经验丰富的师傅,在盯着我的各种写法,这样,我再交付的代码,就至少是被review过一遍的了。不再会犯很多的低级错误。
能用的代码,和优秀的代码,还是差距很大的。
以后,我还是不能仅凭自己的喜好,就随便关闭这些代码校验的重要的提示。