Envíanos tu consulta
Términos y condiciones *
*Si no puedes asistir en directo de facilitaremos un enlace para verlo en diferido
logoImagina
iconoCurso

Curso completo de JavaScript Avanzado

DISPONIBLE EN MODALIDAD:
Profundiza y aprende a técnicas de código limpio y arquitectura limpia en proyectos Javascript, además de plantear pruebas unitarias y de integración que serán automatizadas en Pipelines CI/CD con Gitlab.
iconClienticonClienticonClienticonClienticonClienticonClienticonClienticonClienticonClienticonClienticonClienticonClienticonClienticonClienticonClienticonClienticonClienticonClienticonClienticonClienticonClienticonClient
Formación en JavaScript Avanzado bonificable para empresas

¿A quién va dirigido?

Desarrolladores Javascript que quieran profundizar y aprender nuevos conceptos del lenguaje para garantizar mantenimiento, extensibilidad y robustez en sus desarrollos.

Objetivos

  • Profundizar en los conocimientos de JavaScript bajo el estándar ES6.
  • Desarrollar soluciones Javascript mantenibles y extensibles a través de metodologías de código limpio, arquitectura y testing.
  • Impletentar ruebas unitarias con Jest y obtener informes de coverage y ejeción para garantizar la robustez del código.
  • Automatizaciones CI/CD con Gitlab

¿Qué vas a aprender?

Profundiza y aprende a técnicas de código limpio y arquitectura limpia en proyectos Javascript, además de plantear pruebas unitarias y de integración que serán automatizadas en Pipelines CI/CD con Gitlab.

Requisitos

  • Necesario tener experiencia desarrollando con Javascript bajo el estándar ES6 o superior.
  • Tener instalado Node LTS, NPM, GIT y Visual Studio Code previamnente en el equipo.
  • Disponder de una cuenta de desarrolladore de Gitlab donde poder ejecutar procedimientos CI/CD.
  • Disponder de un equipo con acceso a un usuario con permisos de instalación.

Temario del curso

tema 1

Gestión de la Asincronía

  • Las Funciones asíncronas
  • Trabajando con promesas
  • Trabajando con observables de rxjs
  • Funciones generadoras
tema 2

Prototype

  • Explicación de Prototype en Javascript
  • Herencia de prototipos
  • Modificación de prototipos
  • Patrón OLOO (Objects Linking to Other Objects)
  • Modelado con OLOO
tema 3

Introducción al Código Limpio

  • Introducción al concepto de código limpio y su importancia
  • ¿Qué se entiende como código incorrecto?
  • Las consecuencias de un código incorrecto en términos económicos
  • La importancia de la actitud frente al cambio
  • Los conceptos del código limpio
  • Las diferencias teóricas del concepto
  • La Regla de Boy Scout y los principios del código limpio
  • Herramientas para garantizar la calidad del código
tema 4

La importancia del Nombrado

  • El nombre debe revelar las intenciones
  • El problema de la desinformación involuntaria a través del nombrado
  • Legibilidad y Búsqueda de nombres
  • Prefijos, interfaces, implementaciones y notación húngara
  • El problema de la asignación mental
  • Nombrado de clases y métodos
  • Un concepto, una palabra
  • Juegos de palabras, un error a evitar
  • Nombrado de dominios de problemas y soluciones
  • Contextos innecesarios, una distracción a evitar
tema 5

Las Funciones en el código Limpio

  • El tamaño de las funciones importa
  • La estructura de bloques y la indentación de las funciones
  • Una función, una funcionalidad
  • La regla descendente y el nivel de abstracción único de las funciones
  • Las instrucciones de tipo Switch
  • Cómo plantear de forma limpia los argumentos en las funciones
  • La programación funcional y las formas monádica habituales
  • Los argumentos de indicador
  • Planteando funciones diádicas
  • Las triadas
  • Objetos y listas de argumentos
  • La importancia de los verbos y las palabras clave
  • Los argumentos de salida de una función y sus efectos secundarios
  • Separación de consultas
  • Una excepción, siempre mejor que un código de error
  • La importancia de los bloques Try/Catch
  • DRY, No te repitas
  • La programación estructurada
  • Creación de funciones limpias
tema 6

Documentando a través de Comentarios

  • La importancia de los comentarios
  • Los comentarios no pueden excusar un código incorrecto
  • ¿Qué es un comentario de calidad?
  • Comentarios TODO
  • Comentarios Informativos y legales
  • ¿Qué es un comentario de mala calidad?
  • Comentarios confusos, redundantes, mal descritos y sobrantes
  • Comentarios periódicos
  • Comentarios obligatorios
  • Marcadores de posición
  • Uso de funciones o variables sin comentarios
  • Comentarios como encabezados de funciones
  • DocumentJS y otras alternativas de documentación
  • Usando Flow (https://flow.org/) para tipar código JS
tema 7

Formato del código

  • ¿Qué es el formato y qué funcionalidad tiene?
  • Los dos tipos de formato: Vertical y Horizontal
  • Introducción al formato vertical
  • La densidad y distancia vertical en el código
  • El formato a la hora de declarar variables
  • El formato cuando instanciamos variables
  • Cómo aplicar la verticalidad entre funciones dependientes
  • La verticalidad bajo términos de afinidad conceptual
  • La importancia del orden vertical
  • Introducción al formato horizontal
  • La densidad horizontal en el código
  • La alineación horizontal
  • La indentación o sangrado horizontal
  • ¿Qué son los ámbitos ficticios?
  • Reglas de equipo y formato imprescindibles
tema 8

Principios SOLID

  • ¿Qué son?
  • Principio de la responsabilidad única
  • Principio de abierto/cerrado
  • Principio de la substitución de Liskov
  • Principio de segregación de interfaces
  • Principio de inversión de la dependencia
tema 9

Testing y TDD

  • Introducción al testing unitario y de integración
  • El concepto del Coverage y la importancia de éste para garantizar la robustez calidad
  • Introducción a la metodología TDD
  • Usando Jest para hacer pruebas unitarias a componentes
  • ¿Qué se debe probar?
  • Creación de tests unitarios
  • Empleando Mocks, Spies y Stubs de Jest para simular ejecución de funciones y peticiones http
  • Introducción a BDD
  • Identificación de features y escenarios
  • Sintaxis de Gherkin
  • Implementación con Cypress
tema 10

Refactoring

  • ¿En qué consiste el refactoring?
  • Beneficiones de la refactorización de código
  • Técnicas de refactorización
tema 11

Patrones creacionales y estructurales y de comportamiento

  • Introducción a patrones creacionales y estructurales
  • Patrones más destacables
  • Introducción a patrones de comportamiento
  • Patrones más destacables
tema 12

Automatización CI/CD

  • ¿Qué es CI/CD?
  • Soluciones actuales existentes
  • Archivos YAML
  • Automatización CI/CD con Github actions
  • Imágenes disponibles
  • Dockerización de proyectos
  • Pipelines y Jobs

Curso de JavaScript Avanzado bonificado para Empresas a través de FUNDAE

Somos entidad organizadora de FUNDAE, todas nuestras formaciones se pueden bonificar hasta el 100%, sujeto a vuestro crédito disponible y a cumplir con todos los requisitos de realización establecidos por la Fundación Estatal para el Empleo.

 

Si desconoces el funcionamiento de las bonificaciones, ofrecemos el servicio de gestión en FUNDAE, consúltanos cualquier duda que te surja.

Descargar Guía FUNDAE
imagenFundae
iconClienticonClienticonClienticonClienticonClienticonClienticonClienticonClienticonClienticonClienticonClienticonClienticonClienticonClienticonClienticonClienticonClienticonClienticonClienticonClienticonClienticonClient