python语言采用________方式运行程序_Python语言规范之Lint使用(一)

Python 是 Google主要的脚本语言,《Python语言规范》是Python风格指南的一部分,阐述了python的编程准则。而Python风格指南是Google 开源项目风格指南中Python部分,除此之外还有C++风格指南、Objective-C风格指南和Shell风格指南。

Google或许忘了还要出一本谷歌搜索风格指南吧。

Lint

对你的代码运行pylint。

定义:

Pylint是一个Python静态代码分析工具,它可以查找编程错误、帮助执行编码标准、嗅探代码气味(蛇皮味?)并提供简单的重构建议。对于C和C++这样的不那么动态的(译者注: 原文是less dynamic)语言,这些bug通常由编译器来捕获。由于Python的动态特性, 有些警告可能不对,不过伪告警应该很少。

维基百科是这么定义的,更宽泛一点:

在计算机科学中,lint是一种工具程序的名称,它用来标记源代码中,某些可疑的、不具结构性(可能造成bug)的段落。它是一种静态程序分析工具,最早适用于C语言,在UNIX平台上开发出来。后来它成为通用术语,可用于描述在任何一种计算机程序语言中,用来标记源代码中有疑义段落的工具。

最早开发lint工具的大佬是对洋娃娃情有独钟吧,百度翻译告诉我lint是“(敷伤口用的)纱布;(织物在制作过程中从表面掉落的)纤维屑,飞花;(毛料、棉布等的)绒毛”。

优点:

可以捕获容易忽视的错误,例如输入错误,使用未赋值的变量等。而对于逻辑错误就无能为力了,因此不能依赖pylint就不动我们的小脑袋了。

缺点:

pylint不完美,要利用其优势,取长补短,我们有时侯需要:

围绕着它来写代码

抑制其告警

改进它, 或者

忽略它

结论:

确保对你的代码运行pylint,抑制不准确的警告,以便能够将其他警告暴露出来。

如果pylint对你产生了某种误会,你可以通过设置一个行注释来抑制警告,例如:

dict = 'something awful' # Bad Idea... pylint: disable=redefined-builtin

pylint警告是以一个数字编号(如[scode] C0112 [/scode])和一个符号名(如 [scode]empty-docstring[/scode] )来标识的。在编写新代码或更新已有代码时对告警进行抑制,推荐使用符号名来标识。

如果警告的符号名不够见名知意,那么请对其增加一个详细解释。

采用这种抑制方式的好处是我们可以轻松查找抑制并回顾它们。

你可以使用命令 [scode]pylint --list-msgs[/scode] 来获取pylint告警列表,使用命令 [scode]pylint --help-msg=C6409 [/scode]以获取关于特定消息的更多信息。

相比较于之前使用的 [scode]pylint: disable-msg[/scode] , 本文推荐使用 [scode]pylint: disable[/scode] 。

要抑制”参数未使用”告警,你可以用”_”作为参数标识符,或者在参数名前加”unused_”。遇到不能改变参数名的情况,你可以通过在函数开头”提到”它们来消除告警。例如:

def foo(a, unused_b, unused_c, d=None, e=None):

_ = d, e

return a

Pylint官方网站:https://www.pylint.org/

Pylint它是高度可配置的,由特殊的程序来控制代码中的错误和警告,以及一个扩展的配置文件。也可以编写自己的插件来添加自己的检查或以某种方式扩展pylint。

除非另有说明,这是一个根据GNU通用公共许可证发行的自由软件。

开发托管在GitHub上:https://GitHub.com/PyCQA/pylint/

安装

pip一键安装大法:

pip install pylint

如果使用的是Python3.6+,升级以获得对版本的完全支持:

pip install pylint --upgrade

如果要从源发行版安装,提取文件后并切换到目录下执行:

python setup.py install

源下载地址:https://pypi.org/project/pylint/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在 Vue 项目中使用 TypeScript,可以通过配置 TSLint 来进行代码规范和类型检查。以下是一些设置 TSLint 的经验总结: 1. 安装依赖 ``` npm install --save-dev tslint tslint-config-prettier tslint-plugin-prettier tslint-eslint-rules typescript ``` 2. 配置 TSLint 在项目根目录下创建 tslint.json 文件,并添加以下内容: ``` { "extends": [ "tslint:recommended", "tslint-config-prettier" ], "rules": { "interface-name": false, "no-console": false, "no-empty": false, "no-unused-expression": false, "no-unused-variable": false, "semicolon": [true, "always"] }, "linterOptions": { "exclude": [ "node_modules/**", "dist/**" ] } } ``` 以上配置文件的含义: - extends:继承的规则,包含了 TSLint 推荐的规则和 Prettier 的规则。 - rules:自定义的规则,可以根据团队的需求进行配置。 - linterOptions:指定需要忽略的文件或目录。 3. 配置 VS Code 在 VS Code 中安装以下插件: - TSLint - Prettier - Code formatter 然后在项目根目录下创建 .prettierrc 文件,并添加以下内容: ``` { "singleQuote": true, "trailingComma": "es5", "semi": true, "tabWidth": 2 } ``` 最后,在 VS Code 的设置中添加以下配置: ``` { "editor.formatOnSave": true, "vetur.validation.template": false, "prettier.eslintIntegration": true, "eslint.validate": [ "javascript", "javascriptreact", "vue", "typescript" ], "typescript.validate.enable": false, "tslint.enable": true } ``` 以上配置的含义: - editor.formatOnSave:在保存时自动格式化代码。 - vetur.validation.template:禁止 Vetur 对模板的验证,因为它可能与 TSLint 发生冲突。 - prettier.eslintIntegration:启用 Prettier 和 ESLint 的集成。 - eslint.validate:指定需要验证的文件类型。 - typescript.validate.enable:禁止 VS Code 内置的 TypeScript 验证器,因为它可能与 TSLint 发生冲突。 - tslint.enable:启用 TSLint 验证器。 4. 迁移经验 如果是一个已经存在的 Vue 项目,需要将 JavaScript 代码迁移到 TypeScript,可以按照以下步骤进行: - 安装 TypeScript 和 @types/node - 将 .js 文件改名为 .ts 文件,并修改文件中的代码 - 在 Vue 组件中添加 <script lang="ts"> 标签,并将代码移到其中 - 逐步修改代码,添加类型注解和接口定义 需要注意的是,迁移过程中可能会遇到一些问题,例如: - 无法识别某些模块,需要在 tsconfig.json 中配置 paths - 需要安装额外的类型声明文件,例如 @types/vue、@types/lodash 等 - 一些 JavaScript 的语法不支持 TypeScript,需要进行调整 总之,迁移过程需要耐心和谨慎,可以先从一些简单的模块开始,逐步迁移。同时,使用 TSLint 和 VS Code 可以帮助我们更方便地进行代码规范和类型检查。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值