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

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


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

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

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

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

Estrategias para controlar las excepciones en C#

Estrategias con excepciones en csharp


Al empezar cualquier aplicación es siempre una buena práctica definir una estrategia para controlar los posibles errores que puedan aparecer.

El primer instinto es colocar un try – catch en cada uno de los métodos de la aplicación, pero esto no es necesario, C# tiene mecanismos que permiten centralizar el control de las excepciones.

En este artículo voy a explicar las estrategias principales que uso para controlar el flujo de las excepciones.


leer más
  • Entradas más recientes →

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