-
Notifications
You must be signed in to change notification settings - Fork 13
OpenERP Guidelines
(Traducido de: https://doc.odoo.com/contribute/15_guidelines)
La siguiente lista de líneas guía (guidelines) constituye una referencia clave para todos los involucrados en la comunidad OpenERP [En este caso, bachacove =)]. Cada nuevo contribuyente debe leerlo antes de iniciar el proceso de contribución, de manera que permita mantener el alto nivel de mejoras de calidad en OpenERP.
También es importante que los desarrolladores actualicen periódicamente sus habilidades y hábitos de codificación teniendo una lectura rápida de esas mejores prácticas.
Como parte del Proceso de Revisión de Calidad, todos están invitados a referenciar estas líneas guía cuando intercambien información sobre contribuciones (código, documentación, cualquier cosa). Si una línea guía específica pareciera faltar en la lista,o si has encontrado un ejemplo perfecto de un buen (o mal) patrón, por favor siéntete en la libertad de contribuir.
El sistema de comentarios puede ser usado para este propósito, pero sería incluso mejor actualizar directamente la fuente de esta documentación (ver la guía de contribución).
- Líneas Guía de Codificación
- 1 Guía de estilo Python
- 2 Líneas Guía específicas de OpenERP
- 3 Líneas Guía de pruebas automatizadas YAML
- Líneas guía de Documentación
- Documentación útil y concisa
- Líneas Guía de Contribución
- Reporte de Bug
- Merge Proposals & Patches
- Usando repositorios compartidos para acelerar la gestión de ramas
- Líneas guía de usabilidad
- Líneas guía de Localización
- Contenidos de un módulo de localización
- Líneas guía genéricas
- Líneas guía de Tipos de Cuentas (account.account.type)
- Chart of Accounts Guidelines (account.account.template)
- Chart of Tax Codes Guidelines (account.tax.code.template)
- Chart Template Guidelines account.chart.template
- Taxes Guidelines (account.tax.template)
- Fiscal positions Guidelines (account.fiscal.position.template)
- Modules dependencies Guidelines
- Specific reports Guidelines
Esta lista es incrementada por el equipo de Calidad de OpenERP como parte del proceso de revisión de código. Contiene un conjunto de buenas/malas prácticas específicas de OpenERP, así como de una selección de recomendaciones más genéricas de codificación con Python.
Ambas secciones son un "DEBE LEER" para cada desarrollador y contribuyente de OpenERP.
Como una regla introductoria, siempre deberías tener en mente lo siguiente:
Cada línea que escribas será escrita solo una vez, pero leída muchas veces por otros (incluyendote a ti)
A riesgo de enfatizar lo obvio, esto significa que mientras se sigan las otras líneas guía, deberías usar tu mejor juicio de manera que se pueda alcanzar la mejor legibilidad. Y si escribir código legible requiere un esfuerzo adicional, vale la pena mil veces.
Además de estas líneas guía (guidelines), también prodrías encontrar interesante el siguiente enlace:
- http://python.net/~goodger/projects/pycon/2007/idiomatic/handout.html ( un poco desactulizado pero muy relevante)
Los métodos mágicos (empiezan y terminan con dos underscores) no deben ser llamados directamente a menos que estés redefiniendo un métdo del mismo nombre.
Los métodos mágicos son usados para implementar protocolos específicos y son llamados por ti, bien sea para acceso operador o para alguna operación especial usándolos:
#incorrecto levels.contains(name) #correcto name in levels #más que incorrecto kw.setitem('nodes',nodes) #mucho mejor kw['nodes'] = nodes
Raramente necesario (a enos que realmente no tengas idea de que tipo de variable estás intentando clonar), nunca es necesario para colecciones built-in: solo llama al constructor con tu colección existente:
new_dict = my_dict.clone() #bien new_dict = dict(my_dict)
new_list = old_list.clone()
values = [] for val in view_items: values += [val]