with tutorial services how example develop creating create apis python interface-design

tutorial - Diseño de una API de Python: interfaz fluida o argumentos



tutorial api rest flask (1)

Mi voto es anti-encadenamiento, pro-named-params.

  1. Por supuesto, el encadenamiento de puntos hace que el código sea inteligente, ya que el prototipo empírico es solo un Panel () o Bar () vacío. Por supuesto, puede hacer un Pydoc en él, pero en estos días, intellisense está disponible en la mayoría de los IDE y en un gran aumento de productividad. .

  2. El encadenamiento hace que llamar a la clase programáticamente sea mucho más difícil. Es muy bueno poder pasar una lista o dictado como * args, ** kwargs - mientras sea posible con el encadenamiento, básicamente tendrías que admitir ambos métodos o un montón de backflips para crear metaculos de la clase.

  3. El encadenamiento hace que el código sea más difícil de leer porque, inevitablemente, alguien lo hará todo en una línea, y se preguntará por qué las cosas se complican cuando pasan el mismo parámetro dos veces. Puede evitarlo, pero con un constructor param llamado dup filtering está básicamente construido en.

Estoy jugando con un simple puerto de la API Protovis a Python.

Considere el ejemplo de gráfico de barras simple, en 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();

Estoy debatiendo si continuar usando esta API de estilo de interfaz fluida o usar parámetros nombrados en su lugar. Con los parámetros nombrados podríamos escribir:

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()

¿Hay un estilo de Python preferido?