检查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如何在导入到Google工作表时使用ApachePOI显示系列标签   java在Swing表上修改数据生成SQL   java TCP数据包在网络级别合并   java自动连线bean在线程位置为空   javasocket。禁用无线连接时getOutputStream()阻塞   JSON上的javascript字符串数组。stringify输出unicode字符   java在Oracle数据库中存储不同类型数据的最佳体验   Spring MVC中模板引擎后的java进程输出   不知从哪里来的java空字符串。   如何加载java。使用Adobe Flex的客户端的属性文件?   java如何替换多层括号之间的所有内容?   {JSONObject必须以java'开头   java使用commandButton或commandLink返回并管理HTML控件值   java Android大文本视图动态   java JMock需要自定义类   java Android应用程序在emulator中工作,但在设备中失败   java连接到derby数据库时使用什么文件路径格式?   java在一个函数调用中返回两个结果?