集团主站
欢迎来到成都达内官方网站!达内—美国上市公司 亿元级外企IT培训企业!
成都it培训哪家好
成都it培训哪家好
全国服务监督电话:15023458194  |   联系客服   |
当前位置:主页 > 培训课程 > Python >

成都python在线学习课程:用于Python项目的最佳flake8扩展

发布者: 成都达内     浏览次数:     发布时间:2018-12-13 09:50:30

正如我们所看到的,Flake8是几个工具的包装器,并且可以通过插件进行扩展:这意味着你可以添加自己的检查。我是Flake8的忠实用户,依赖一些插件来扩展Python中常见编程错误的检查范围...

  成都python在线学习课程:用于Python项目的最佳flake8扩展

  正如我们所看到的,Flake8是几个工具的包装器,并且可以通过插件进行扩展:这意味着你可以添加自己的检查。我是Flake8的忠实用户,依赖一些插件来扩展Python中常见编程错误的检查范围。以下是我工作所必须的一些插件清单。

  flake8-import-order

  名称非常清楚:此扩展检查文件开头import语句的顺序。默认情况下,它使用了我喜欢的样式,看起来像:

  成都python在线学习课程

  内建模块被分为第一个组。紧接着每一个被引入的第三方模块作为一个分组。最后一个分组管理当前项目的模块。我发现这种组织模块引入的方式非常清晰易读。

  为了确保flake8-import-order知道你项目模块的名称,你需要在tox.ini文件中以application-import-names的选项形式定义它。

  如果你想尝试不同的样式,你可以通过设置import-order-style选项来使用flake8-import-order默认提供的其他样式。显然,你也可以提供自己的样式。

  flake8-blind-except

  flake8-blind-except扩展用来检查在没有定义异常类型的情况下不使用except语句。因此,下列摘录的语句被认为是无效的:

  成都python在线学习课程

  使用except而不指定任何异常类型的做法是不好的,因为它可能捕获不需要的异常。它迫使开发人员考虑什么类型的错误可能产生,并且应该被真正捕获。

  在极少的情况下,任何异常才都需要被捕获,不管怎样,使用except Exception仍然是可以的。

  flake8-builtins

  flake8-builtins插件检查你的代码和Python内建变量之间没有名称冲突。

  例如,这段代码会触发一个错误:

  Python项目的最佳flake8扩展

  由于list是Python中的一个内建函数(用于创建一个列表!),在函数签名中使用list作为参数名来隐藏它的定义会触发来自flake8-builtins的警告。

  虽然代码是有效的,但是重写Python内置函数是一个坏习惯。它可能会导致一些棘手的错误;在上面的例子中,如果你需要调用list(),那你将无法调用它。

  flake8-logging-format

  这个模块很方便,因为它仍然不时敲打我的手指。当使用logging模块时,它会阻止编写这类代码:

  Python项目的最佳flake8扩展

  虽然这是可行的,但它是次优的,因为它强制进行字符串插入。如果日志记录器被配置为只打印警告级别或更高级别的日志信息,那么在这里进行字符串插入是没有意义的。

  因此,我们应该这样写:

  Python项目的最佳flake8扩展

  如果你使用format模块来进行任何格式化,情况也是如此。

  请注意,与其他flake8模块相反,这个模块在默认情况下不启用检查。你需要在你的tox.ini文件中添加enable-extensions=G来启用它。

  flake8-docstrings

  flake8-docstrings模块检查你的Python文档注释内容是否符合PEP 257。这个PEP包含了关于正确格式化文档注释的小细节,如果没有这样的工具,你将无法做到这一点。一个简单的例子是:

  成都python在线学习课程

  虽然这段代码看起来是有效的,但是在文档注释的末尾有一个缺失的地方。

  相信我,特别是如果你正在编写一个被其他开发人员使用的库,那么这是一个必须拥有的扩展模块。

  flake8-rst-docstrings

  这个扩展是对flake8-docstrings的一个很好的补充:它检查你的文档注释内容是否有效。这很简单,所以我毫不犹豫地安装了它。同样,如果你的项目导出了使用Sphinx构建的文档化API,那么这个扩展是必须具备的。

  我的标准tox.ini文件

  这是一个我在我的大多数项目中使用的标准的tox.ini摘录。你可以复制粘贴并使用它。

  成都python在线学习课程:用于Python项目的最佳flake8扩展

  在为你的整个项目禁用错误代码之前,请记住,你可以通过在行尾添加# noqa标记来强制flake8忽略特定的错误实例。

(责任编辑:范老师)
最新开班
  • 成都Java培训班
    免费试听名额发放中...
  • 成都C++培训班
    免费试听名额发放中...
  • 成都PHP培训班
    免费试听名额发放中...
  • 成都网络工程培训班
    免费试听名额发放中...
  • 成都Unity3D培训班
    免费试听名额发放中...
  • 成都大数据培训班
    免费试听名额发放中...
  • 成都uid培训班
    免费试听名额发放中...
  • 成都会计培训班
    免费试听名额发放中...
  • 成都Python培训班
    免费试听名额发放中...
  • 成都嵌入式培训班
    免费试听名额发放中...
  • 成都web培训班
    免费试听名额发放中...
  • 成都软件测试培训班
    免费试听名额发放中...
在线留言
提交

校区地址:绵阳市涪城区临园路东段68号富临大都会7栋3单元9层12号

联系电话:15023458194

公交路线:富乐路口凯德广场(10路;29路;3路;15路;11路;15a路;71路)

校区地址:成都市锦江区东大街紫东楼端35号明宇金融广场19楼1906室

联系电话:15023458194

公交路线:芷泉街(18路;21路;43路;48路;104路;152路;335路 ) 地铁路线:东门大桥站(地铁2号线)

校区地址:成都市高新区奥克斯广场蜀锦路209号一楼商铺

联系电话:15023458194

公交路线:益州大道锦城大道口(18路;21路;43路;48路;104路;152路;335路 ) 地铁路线:孵化园(地铁1号线)

校区地址:成都锦江区东大街芷泉街229号东方广场C座3楼303

联系电话:15023458194

公交路线:芷泉街(188路;115路;515路;236路;505路;501路;84路 ) 地铁路线:东门大桥站(地铁2号线)

校区地址:成都市武侯区佳灵路3号红牌楼广场2号写字楼11楼1115号

联系电话:15023458194

公交路线:红牌楼东(11路;92路;100路;111路;139路;g28路;快速公交K1/K2) 地铁路线:红牌楼站(地铁3号线)

校区地址:成都市锦江区红星路二段70号四川日报大厦502-2

联系电话:15023458194

公交路线:市二医院站(6路;49路;102路;5路;37路;g92路;) 地铁路线:地铁市二医院(地铁3号线)

校区地址:成都市锦江区东大街芷泉段229号东方广场C座16层

联系电话:15023458194

公交路线:芷泉街(18路;21路;43路;48路;104路;152路;335路 ) 地铁路线:东门大桥站(地铁2号线)

校区地址:四川省成都市武侯区高新科技孵化园9号园区E座7楼

联系电话:15023458194

公交路线:益州大道锦城大道口(18路;21路;43路;48路;104路;152路;335路 ) 地铁路线:孵化园(地铁1号线)

校区地址:成都市人民南路一段86号“城市之心”大厦26楼

联系电话:15023458194

公交路线:成都市人民南路(6路;14路;42路;72路;76路;1010路;)

校区地址:成都市高新区奥克斯广场B座1708

联系电话:15023458194

公交路线:益州大道锦城大道口(18路;21路;43路;48路;104路;152路;335路 ) 地铁路线:孵化园(地铁1号线)

了解达内动态
关注成都达内教育公众号

首页 | 关于达内 | 课程中心 | 专家师资 | 视频教程 | 学员空间 | 校企合作 | 新闻资讯 | 就业指导 | 网站地图

2016-2025 达内时代科技集团有限公司 版权所有 京ICP证8000853号-56