Programar en inglés o en español

lunes, 11 de junio de 2018

Programar en inglés o en español


Hará unos 5 años que me uní a un equipo de programación para extender las funcionalidades de un CRM.

Uno de los compañeros me espetó:

Aquí programamos en español, si programas en inglés no se entiende nada.

Mi primera reacción fue de rechazo: toda la documentación en internet está en inglés, cualquier proyecto con el que te encuentres estará en inglés, hay multitud de palabras que no son traducibles, etc. Me parecía algo retrógrado.

Pero tras pensarlo detenidamente, tampoco era un idea tan descabellada, escribir código es como escribir en un lenguaje, ¿por qué no escribirlo en el propio?

En este post voy a explicar mi experiencia programando en español, ventajas y desventajas y cómo decido al final el idioma que utilizaré.


leer más

Lecturas recomendadas · junio 2018

domingo, 10 de junio de 2018

Lecturas recomendadas · junio 2018


Aquí estan las lecturas que me han parecido interesantes este mes.


leer más

Lecturas recomendadas · mayo 2018

domingo, 13 de mayo de 2018

Lecturas recomendadas · mayo 2018


Esta es mi selección para este mes.


leer más

Código limpio: usa nombres que revelen su intención

sábado, 5 de mayo de 2018

Código limpio: usa nombres que revelen su intención


Muchas veces estoy trabajando y le pregunto a mi mujer (compartimos despacho): ¿tú cómo llamarías a algo que hace X en un contexto Y?

Poner un nombre en programación es un proceso que hay que tomarse seriamente y cualquier ayuda, punto de vista o idea es bienvenida para seleccionar el más adecuado.

"En software los nombres están en todas partes. Ponemos nombre a las variables, a las funciones, a los argumentos, a las clases y a los paquetes. Ponemos nombre a los archivos de código fuente y a las carpetas que los contienen. Ponemos nombre a nuestros ficheros jar, war y ear. Ponemos nombres y nombres y más nombres. Lo hacemos tantas veces que sería deseable hacerlo bien” Robert C. Martin

En este post voy a recordar la primera regla que Robert C.Martin propone para generar buenos nombres y comentar algunas de las experiencias que he tenido al aplicarla.

 


leer más

Lecturas recomendadas · abril 2018

domingo, 29 de abril de 2018

Lecturas recomendadas programación


Inspirándome en el blog Variablenotfound de José M. Aguilar voy a iniciar una recopilación de enlaces que me han resultado interesantes.



leer más

Ejemplo patrón compuesto (Composite) en C#

viernes, 30 de marzo de 2018


En este post, que es una continuación de "El patrón Comuesto (Composite) en C#",  voy a implementar un ejemplo del patrón a partir de un desarrollo que realicé para una empresa de producción industrial.

Consistía en crear un módulo para calcular los costes de productos formados por conjuntos de otros productos.

Inicié el desarrollo del módulo partiendo de la premisa Código Primero y apoyándome en el ejemplo canónico explicado en el post anterior.


leer más

Datos, pantallas o código: ¿por dónde empezar?

jueves, 22 de febrero de 2018

Datos, pantallas o código: ¿por dónde empezar?


Cuando nos encontramos frente a un problema de desarrollo podemos atacarlo de tres modos diferentes:

  1. Datos primero (Data first)
  2. Pantallas primero (UI first)
  3. Código primero (Domain first)

Históricamente la mayoría de problemas de desarrollo se han atacado utilizando el modo “Datos primero”. Me atrevería a decir que, aún a día de hoy, esta es la manera más utilizada.

Sin embargo la tendencia está cambiando y el modo “código primero” va adquiriendo cada vez más adeptos.

En este post voy a explicar algunas ventajas y desventajas de las diferentes maneras en las que podemos afrontar problemas de desarrollo.


leer más

El patrón Compuesto (Composite) en C#

domingo, 4 de febrero de 2018


Recientemente me encargaron desarrollar un módulo para calcular los costes de productos formados por conjuntos de otros productos. Lo primero que me vino a la cabeza cuando me explicaban los requisitos fue el patrón Compuesto (Composite).

El patrón me resultó útil con el planteamiento inicial, pero iba a tener que trabajar más allá de él para entregar una solución completa.

Este post forma parte de una serie de tres:


leer más

El patrón Observador en C#

domingo, 15 de octubre de 2017


Quizá este sea el patrón más utilizado en programación, no solo en C#, sino en la mayoría de lenguajes.

La implementación en C# es muy sencilla y cualquiera que haya realizado una aplicación en WebForms, WinForms o WPF habrá aplicado este patrón aunque sea sin haberse dado cuenta. ¿Cómo puedo estar tan seguro? Porque la implementación en C# de este patrón son los eventos y dudo que haya programadores que no los utilicen :-)

En este post voy a explicar los conceptos y las ideas que hay detrás del patrón, mostraré diferentes versiones del patrón y finalmente implementaré un ejemplo utilizando los eventos, que es como se debería utilizar C#.


leer más

El patrón Estrategia en C#

jueves, 17 de agosto de 2017

Patrón Estrategia en C#


Cuando conocí los patrones de diseño ya llevaba algunos años trabajando en el sector y hasta entonces no les había dado importancia. Estaban ahí pero era un tema distante. Incluso trabajando en equipos de grandes empresas con grandes proyectos, nadie los mencionaba.

Fue leer el primer capítulo del libro “Head First Dessign Patterns” y hacer “clic”: descubrí nuevos puntos de vista y nuevas maneras de programar. Hasta entonces utilizaba clases y objetos pero no estaba aprovechando todo el potencial de los conceptos de POO (Programación Orienteda a Objetos). Cuando un problema se complicaba, o cuando había un cambio en una especificación, lo resolvía utilizando la fuerza bruta: copy-paste y tira pa’lante.

Los patrones de diseño, y en especial el patrón estrategia, me llevó a comprender y aplicar mejor algunos de los conceptos de POO.

En este post voy a explicar el patrón de diseño estrategia con el mismo ejemplo que utiliza el libroHead First Dessign Patterns”. Una vez explicado también mostraré un caso real donde lo he aplicado.


leer más

Quizá algun día empiece a enviar una newsletter, si te gustaría recibirla subscríbete aquí