静态分析:Pylint和Flake8都是静态分析工具,用于在代码编写阶段检测潜在的问题。它们可以自动检查代码,发现语法错误、未使用的变量、不符合代码风格指南的部分等。
与集成开发环境(IDE)的整合:Pylint和Flake8都可以与多个常用的Python集成开发环境(IDE)进行整合,例如PyCharm、Visual Studio Code等。这使得你可以在开发过程中即时获得代码检查和建议。
配置
setting.json
"pylint.importStrategy": "useBundled",
"pylint.args": [
"--disable=invalid-name,missing-module-docstring",
"--disable=W0612,W0631,W0703,W0621,W0613,W0611,W1308,C0411,C0111,C0103,C0301,C0304,C0305,E1101,R0913,R0914,R0915,R0903" ,
Black介绍以及VSCode配置
Black介绍
Black是一个自动格式化Python代码的工具,旨在提供一种统一的代码风格。其遵循一组严格的规则和约定,确保不同开发者的代码在格式上具有一致性。工作原则是“不需要配置”。
与yapf、autopep8相比,为什么选择Black?
因为懒,不想配置过多东西。感兴趣小伙伴可自行比较三者区别。
VSCode配置
安装Black Formatter
插件
配置setting.json
"[python]": {
"editor.defaultFormatter": "ms-python.black-formatter",
"editor.codeActionsOnSave": {
"source.organizeImports": true
"editor.formatOnSave": true,
MyPy介绍以及VSCode配置
MyPy介绍
MyPy是一个静态类型检查工具。其特点在于:当代码中添加类型注解后,MyPy支持类型推断、类型提示和类型注释功能。
要想使用这款工具,需要更改一下日常习惯,为函数参数添加类型注解,这也增加代码可读性。当然,起初这是一件比较痛苦的事情,习惯以后,受益良多。
VSCode配置
安装插件Mypy Type Checker
配置setting.json
"mypy-type-checker.importStrategy": "useBundled",
"mypy-type-checker.args": [
"--follow-imports=skip",
"--ignore-missing-imports",
"--show-column-numbers",
"--allow-untyped-defs",
"--allow-subclassing-any",
"--allow-untyped-calls",
"--no-warn-no-return"
isort
这个工具是用来对py文件中的import排序用的。可以简单配置为Black的规则即可。
VSCode配置
安装isort
插件
配置setting.json
"isort.args":["--profile", "black"],
完整的setting.json配置
"[python]": {
"editor.defaultFormatter": "ms-python.black-formatter",
"editor.codeActionsOnSave": {
"source.organizeImports": true
"editor.formatOnSave": true,
"isort.args":["--profile", "black"],
"mypy-type-checker.importStrategy": "useBundled",
"mypy-type-checker.args": [
"--follow-imports=skip",
"--ignore-missing-imports",
"--show-column-numbers",
"--allow-untyped-defs",
"--allow-subclassing-any",
"--allow-untyped-calls",
"--no-warn-no-return"
"pylint.importStrategy": "useBundled",
"pylint.args": [
"--disable=invalid-name,missing-module-docstring",
"--disable=W0612,W0631,W0703,W0621,W0613,W0611,W1308,C0411,C0111,C0103,C0301,C0304,C0305,E1101,R0913,R0914,R0915,R0903" ,