-
Lección 📈 En tendenciaMaster, main y otros nombres de rama
Arrancamos con un tema fresco. Hace ya un tiempo que se empezó a recomendar no usar "master" como nombre de la rama principal, por lo que hoy día Git tiene ajustes para cambiar el nombre de la rama, y también hay que estar pendiente de lo que se clona. -
LecciónMás particularidades de ExUnit
ExUnit no es la librería de TDD más sofisticada del mundo, pero ofrece pequeños apoyos para facilitar escribir tests. Tenemos otros asertos para comprobar que algo es falso o que el intercambio de mensajes entre procesos de OTP se hace bien, así como hooks adicionales. -
LecciónTests con ExUnit
ExUnit es un framework para escribir tests en Elixir. En este vídeo, por qué los tests nos vienen bien, y un ejemplo rápido de cómo crear tests con Elixir que profundizaremos en siguientes episodios. -
LecciónSigilos
Un sigilo es un símbolo que insertamos junto a una expresión para que Elixir la trate de forma especial. Normalmente se usan para crear listas de átomos o cadenas de caracteres sin escribir tanta comilla o para no tener que escapar las comilas en una string o una charlist, pero... -
Lecciónwith
with permite agrupar múltiples expresiones de tipo pattern matching en un único bloque do-end, de tal manera que la única forma de evaluar su interior es que todos los matches sean válidos a la vez. Con esto podemos desplegar cómodamente expresiones envueltas en tuplas sin crear un excesivo número de... -
LecciónElevando errores con raise
Cuando encontramos una situación anómala en nuestras funciones, podemos interrumpir la evaluación del resto de la función mediante el comando `raise`, que nos permite lanzar hacia fuera un Error que puede ser tratado en otro bloque try-rescue. -
LecciónTratamiento de errores con rescue
Otra forma más de tratar errores es usar un bloque try-rescue para envolver el código problemático y capturar posibles errores que puedan ocurrir durante su uso para evaluar a expresiones alternativas en caso de error. -
LecciónComportamientos
Los comportamientos es la respuesta de Elixir a la programación por contrato y a la fabricación de interfaces que encontramos en otros lenguajes de programación. Mediante callback y behaviour podemos crear módulos que especifican primitivas que otros módulos deben implementar. -
LecciónTypespecs (parte 2, tipos propios y t())
A medida que desarrollemos estructuras de datos más complejas, el sistema de tipos de Elixir se nos quedará corto. Por suerte lo podemos extender creando nuestras propias definiciones de tipos para fabricar abstracciones sobre otras estructuras más complejas. -
LecciónTypespecs (parte 1, usando tipos básicos)
Con los type specs se pueden especificar los tipos de los parametros y retornos de las funciones para que herrramientas como Dialyzer puedan analizar de forma estática el código a fin de comprobar que se pasen los parámetros de forma correcta en el código.