[pyar] Nombrando clases en Python (convenciones)
Hernan Grecco
hernan.grecco en gmail.com
Lun Oct 7 18:58:24 ART 2013
Hola,
Hace un tiempo en una reunión de café, se armó una discusión acerca de
cómo nombrar clases en Python. Quería tirar el tema a la lista para
ver si hay alguna opinión mayoritaria o algún argumento contundente.
Algunos proponían nombrar las clases de forma descriptiva. Hago un
ejemplo con dos módulos ficticios que definen servidores/clientes para
ftp y http.
En ftp.py definis FTPServer
En http.py definis HTTPServer
y después lo usas:
from ftp import FTPServer
from http import HTTPServer
f = FTPServer()
h = HTTPServer()
A favor:
- similar a como se hace en la standard library
- nombres de las clases independientes del contexto (lease modulo)
En contra:
- nombres largos, un poco repetitivos, sobre todo cuando se los usa en
el mismo modulo (ej. usar FTPServer dentro de ftp.py)
- puede volverse molesto nombrar clases derivadas de forma descriptiva.
Otros proponían algo mas similar a lo que hace google go:
En ftp.py definis Server
En http.py definis Server
y después lo usas:
import ftp
import http
f = ftp.Server()
h = http.Server()
a favor:
- nombres cortos y claros
en contra:
- requiere un lookup adicional (lo cual no parece ser mayor problema a
menos que se llame muchas veces)
Opiniones?
Hernán
Pd.- Esta claro que usando `as` puede pasarse de uno a otro fácilmente
pero las clases se usan mayoritariamente como son definidas.
More information about the pyar
mailing list