Los principios pigbar para la Programación Orientada a Objetos (OOP)

Puede sonar pretencioso, y lo es, pero este es un resumen de una serie de normas o reglas que se deben imponer a los equipos de desarrollo con respecto al diseño o construcción de sus clases. No negociables.



  1. Toda clase debe implementar una interface.
  2. Toda clase o es final o es abstracta.
  3. Todas las propiedades son privadas.
  4. Todas las propiedades son final.
  5. Todos los métodos son públicos.
  6. No existen clases sin métodos reales o funcionales (getter y setter no son métodos reales).
  7. No existen clases sin propiedades.
  8. Toda clase debe tener al menos un constructor primario.
  9. Todos los constructores secundarios deben invocar al primario.
  10. Toda clase debe tener como máximo ocho propiedades.
  11. Toda Interface debe declarar como máximo ocho métodos.
  12. Toda clase debe ser lo más inmutable posible.
  13. No existen propiedades estáticas.
  14. No existen métodos estáticos.
  15. No se admiten Setters.
  16. Los Getters no se recomiendan.
  17. No se recomiendan las Anotaciones.
  18. No existen referencias a NULL.
  19. No existen métodos retornando o recibiendo NULL.
  20. No existen DTOs (deriva de las reglas 6 y 7).
  21. Todos los métodos deben retornar un valor no nulo.
  22. Dígale al objeto qué hacer, NO le pida los datos al objeto para hacer Ud las cosas.

Los equipos de desarrollo no son una democracia. Deben ser comandos de élite dirigidos por líderes competentes y donde las decisiones de arquitectura, si bien se discuten, son tomadas por el arquitecto y tienen carácter Final.

No hay comentarios:

Publicar un comentario