albertcapdevila.net
  • Blog
  • Contrátame
  • Libros
  • Contacto
  • RSS

Código, teoría, principios y prácticas


Uso de Excepciones en C#

Foto de Kenny Eliason en Unsplash


Sin excepción "ninguna": en todo el código fuente con el que he trabajado, se han usado excepciones para controlar el flujo de la aplicación.

No me refiero a las librerías open source desarrolladas por megaexpertos, sino al código real con el que me topo en mi día a día. El que picamos el resto de mortales.

Es uno de los errores más comunes que veo y, lo peor, no es fácil convencer a alguien que lleva años haciéndolo de otra manera.
 


leer más

Qué es una Entidad de Domain Driver Design y cómo se implementa en c# y .net

Entidad de Domain Driven Design única y perdurable en el tiempo

Foto de Veronica Benavides en Unsplash


En este artículo voy a describir qué es una Entidad desde el punto de vista de Domain Driven Design, qué características tiene y cómo implementarla en c#.net.


leer más

Qué es la lógica de negocio en programación y cómo distinguirla de la lógica de aplicación y de pantalla

Camino que traza el código

Foto de Anastasiya Romanova en Unsplash


A menudo me he encontrado con que en el mundo del desarrollo de software, a cualquier cosa se le llama lógica de negocio o lógica a secas.

En este artículo voy a explicarte qué entiendo por lógica y qué tres tipos básicos podemos distinguir.


leer más

Ejemplo de un método deshonesto en c#.net y cómo refactorizarlo

Haz que tus métodos digan la verdad

Photo by Claudio Schwarz on Unsplash


Aquí tienes un ejemplo real de un método deshonesto en c# y un par de opciones para mejorarlo. 


leer más

Efectos secundarios e idempotencia en programación

Efectos secundarios y idempotencia en programación

Fotografía de Nathan Dias en Unsplash


Para comprender patrones de diseño básicos como Command Query Separation CQS o la base teórica detrás de la programación funcional es necesario saber qué son los efectos secundarios en programación y cuándo se producen. En inglés se conocen como side effects.

En el post anterior definí lo que era el estado de la aplicación, te recomiendo tenerlo presente para comprender mejor este texto. 


leer más

Estado en programación vs. estado de la aplicación

Para generar código mantenible es fundamental comprender el concepto estado, puesto que la mayoría de principios y prácticas se refieren a él constantemente.

Espero que este post te ayude a conocerlo un poco mejor.


leer más

Encapsulamiento en programación

Encapsulamiento en programación

El encapsulamiento es el principio fundamental que te va a ayudar a crear código mantenible. Aquí tienes su definición y tres herramientas sencillas que puedes aplicar para encapsular con sentido.


leer más

Mantenibilidad y entropía del software

Mantenibilidad y entropía del software

Isaac Smith on Unsplash

Voy a iniciar una serie de posts sobre conceptos y teoría para escribir código mantenible. Empezaré por los conceptos más básicos y continuaré siguiendo un orden de complejidad que permita entenderlos todos e ir subiendo de nivel.


leer más

Código limpio: el switch es código sospechoso

sospecha cuando utilices un switch


Cuando un cliente me explica una funcionalidad suele utilizar frases del tipo 'si tenemos esta situación entonces haz X, pero si es esta otra haz Y'. Uno de los reflejos inmediatos es intentar plasmar esta misma lógica en el código utilizando cláusulas switch.

En este post voy a explicar por qué debes sospechar de los switch de tu código y qué puedes hacer para minimizarlos.


leer más

Programar en inglés o en español

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
  • ← Entradas más antiguas

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

Etiquetas

  • Código, teoría, principios y prácticas
  • Patrones de diseño
  • Sobre este Blog
  • Lecturas recomendadas
  • Proyectos

Archivo

2025 (1)

  • Uso de Excepciones en C#

2024 (1)

  • Patron Decorator (Envoltorio) en c#

2022 (3)

  • Qué es una Entidad de Domain Driver Design y cómo se implementa en c# y .net
  • Qué es la lógica de negocio en programación y cómo distinguirla de la lógica de aplicación y de pantalla
  • Ejemplo de un método deshonesto en c#.net y cómo refactorizarlo

2021 (4)

  • Efectos secundarios e idempotencia en programación
  • Estado en programación vs. estado de la aplicación
  • Encapsulamiento en programación
  • Mantenibilidad y entropía del software

2020 (13)

  • Lecturas recomendadas sobre c# y .net · diciembre 2020
  • Lecturas recomendadas sobre c# y .net · noviembre 2020
  • Lecturas recomendadas sobre c# y .net · octubre 2020
  • Lecturas recomendadas sobre c# y .net · septiembre 2020
  • Lecturas recomendadas sobre c# y .net · agosto 2020
  • Lecturas recomendadas sobre c# y .net · julio 2020
  • Lecturas recomendadas sobre c# y .net · junio 2020
  • Lecturas recomendadas sobre c# y .net · mayo 2020
  • Lecturas recomendadas sobre c# y .net · abril 2020
  • Lecturas recomendadas sobre c# y .net · marzo 2020
  • Lecturas recomendadas sobre c# y .net · febrero 2020
  • Lecturas recomendadas sobre c# y .net · enero 2020
  • Controla la calidad de tu código con NDepend

2019 (12)

  • Lecturas recomendadas sobre c# y .net · diciembre 2019
  • Lecturas recomendadas sobre c# y .net · noviembre 2019
  • Lecturas recomendadas sobre c# y .net · octubre 2019
  • Lecturas recomendadas sobre c# y .net · septiembre 2019
  • Lecturas recomendadas sobre c# y .net · agosto 2019
  • Lecturas recomendadas sobre c# y .net · julio 2019
  • Lecturas recomendadas sobre c# y .net · junio 2019
  • Lecturas recomendadas sobre c# y .net · mayo 2019
  • Lecturas recomendadas sobre c# y .net · abril 2019
  • Lecturas recomendadas sobre c# y .net · marzo 2019
  • Lecturas recomendadas sobre c# y .net · febrero 2019
  • Lecturas recomendadas sobre c# y .net · enero 2019

2018 (17)

  • Lecturas recomendadas sobre c# y .net · diciembre 2018
  • Lecturas recomendadas sobre c# y .net · noviembre 2018
  • Código limpio: el switch es código sospechoso
  • Lecturas recomendadas sobre c# y .net · octubre 2018
  • Lecturas recomendadas sobre c# y .net · septiembre 2018
  • Lecturas recomendadas sobre c# y .net · agosto 2018
  • Tutorial para instalar Let's Encrypt en Azure
  • Patrón Builder en c#.net
  • Lecturas recomendadas sobre c#.net · julio 2018
  • Programar en inglés o en español
  • Lecturas recomendadas · junio 2018
  • Lecturas recomendadas · mayo 2018
  • Código limpio: usa nombres que revelen su intención
  • Lecturas recomendadas · abril 2018
  • Ejemplo patrón compuesto (Composite) en C#
  • Datos, pantallas o código: ¿por dónde empezar?
  • El patrón Compuesto (Composite) en C#

2017 (9)

  • El patrón Observador en C#
  • El patrón Estrategia en C#
  • Estrategias para controlar las excepciones en C#
  • El patrón Factoría Simple en C# desde un punto de vista de mantenibilidad
  • El patrón Singleton en C#
  • La paginación de este blog en cuatro pasos
  • Añadir comentarios a tu blog con Disqus y MVC5
  • Las rutas que utilizo en este blog MVC5
  • Cómo subo las imágenes de este blog y cómo las envío a un Storage de Azure

2016 (8)

  • Para editar el html de las entradas de este blog utilizo el control CkEditor
  • Creando las primeras pantallas de mantenimiento mediante Scaffolding
  • La primera versión de la base de datos de este blog con Entity Framework Code First
  • Cuáles fueron las primeras clases de este Blog ASP.NET MVC5 y dónde están ubicadas
  • Cómo publiqué la primera versión de este blog
  • Consejo: Qué tuve presente antes de desarrollar el código de este blog
  • Declaración de intenciones: Crear un Blog ASP.NET MVC5 desde cero
  • Hola, Mundo

albertcapdevila.net

  • Blog
  • Contrátame
  • Libros
  • Contacto
  • Github
  • Linkedin
  • Aviso legal
  • Política de cookies
  • Log in