检查hasatt,这在plone项目中被认为是有害的。

flake8-plone-hasattr的Python项目详细描述


https://travis-ci.org/gforcada/flake8-plone-hasattr.svg?branch=masterhttps://coveralls.io/repos/gforcada/flake8-plone-hasattr/badge.svg?branch=master&service=github

flake8 plone hasatt插件

python标准hasattr被认为是有害的(在plone项目中)。

hasattr的(隐藏的)问题是它会接受异常, 在你正常的商业逻辑中,你真的不想这么做。

特别是在plone上下文中,这可能意味着吞咽数据库错误, 或权限异常等。

以下面的代码为例:

>>>classFoo(object):...@property...defmy_attr(self):...raiseValueError('nope, nope, nope')...>>>bar=Foo()>>>bar.my_attrTraceback(mostrecentcalllast):File"<stdin>",line1,in<module>File"<stdin>",line4,inmy_attrValueError:nope,nope,nope>>>hasattr(Foo,'my_attr')True>>>hasattr(bar,'my_attr')False>>>getattr(bar,'my_attr',None)Traceback(mostrecentcalllast):File"<stdin>",line1,in<module>File"<stdin>",line4,inmy_attrValueError:nope,nope,nope

此插件基于plone.recipe.codeanalysis中的python检查器。

安装

使用pip安装:

$ pip install flake8-plone-hasattr

要求

  • Python2.7、3.3、3.4
  • 薄片8

许可证

GPL 2.0

更改日志

0.2.post0(2017-05-31)

  • 松开万向轮 [gforcada]

0.2(2017-05-31)

  • 添加了对SubmiteText(stdin/filename处理)的支持 [IHAM]

0.1(2015-09-15)

  • 初次发行 [gforcada]
  • 创建flake8插件本身。 [gforcada]

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java需要64位jdk 1.5 for windows   eclipse运算符+对于参数类型java是未定义的。双,爪哇。双人   未下载文件扩展名为的java文件   java不支持带有POST的媒体类型   从动态创建的多个EditText读取文本时发生java错误   java无法为同一xpath单击多个按钮   如何在Java中动态格式化字符串   java Android Clear Middle活动   多线程Java内存模型volatile和x86   git在Java中通过Jgit忽略文件或文件夹   java“决策无法区分输入的备选方案1、2…”   子类的javajpa继承   java需要弄清楚如何操作mutator来弄清楚一个类,教授说,我对如何操作感到困惑   java如何使用JDBC将数据从文件复制到PostgreSQL?