我正在玩一个简单的端口 Protovis API到Python。

在JavaScript中考虑简单的条形图示例:

var vis = new pv.Panel()
    .width(150)
    .height(150);

vis.add(pv.Bar)
    .data([1, 1.2, 1.7, 1.5, .7, .3])
    .width(20)
    .height(function(d) d * 80)
    .bottom(0)
    .left(function() this.index * 25);

vis.render();

我正在辩论是继续使用这种流利的接口样式API还是使用名为参数。使用命名参数,我们可以写:

vis = pv.Panel(width=150,
               height=150)

vis = vis + pv.Bar(data=[1, 1.2],
                   width=20,
                   height=lambda d: d * 80,
                   bottom=0,
                   left=lambda: self.index * 25)
vis.render()

有首选的Python风格吗?

有帮助吗?

解决方案

我的投票是反链接的,命名为帕拉姆。

  1. 点链链的代码智能质量很差,因为经验原型只是一个空面板()或bar(),您当然可以使用pydoc,但是在这一时代,大多数IDE都可以使用,并且出色的生产力增强了。

  2. 链接使编程使班级更加困难。能够通过列表或dict作为 *args,** kwargs,这是非常高兴的 - 虽然可以通过链接,但基本上必须支持方法或一堆反弹以进行元元素来创建课程。

  3. 链接使代码更难以阅读,因为不可避免地有人会在一行上完成所有操作,并想知道为什么两次通过同一参数传递时,一切都会愚弄 - 您可以防止这种情况基本上是内置的。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top