Objetivos
Objetivo general
– Potenciar la calidad del desarrollo, depurar y probar la codificación realizada en lenguaje JavaScript e instruir en los patrones y buenas prácticas de diseño vigentes actualmente en la industria.
Objetivos específicos
– Introducir las tecnologías, conceptos y competencias que se adquirirán a lo largo del desarrollo del curso para asegurar una adecuada codificación y despliegue de aplicaciones JavaScript.
– Estudiar los conceptos que permitirán experimentar y mejorar la legibilidad de la codificación desarrollada.
– Estudiar los conceptos que permitirán experimentar y mejorar la funcionalidad y la practicidad de su codificación desarrollada.
– Estudiar las ventajas obtenidas de la modularización de los desarrollos, de la utilización de un
gestor de paquetes de código, de la programación asíncrona, de la eliminación del código innecesario y de la atención a las nuevas especificaciones publicadas por las actuales organizaciones internacionales de estandarización.
– Estudiar patrones y principios orientados a la mejora de los diseños desarrollados.
– Capacitar a los alumnos para la realización de pruebas unitarias del código desarrollado de cara a familiarizarse a cumplir los mínimos requisitos de calidad exigidos en la industria actual.
– Revisar las buenas prácticas que faciliten la detección, el control y la gestión de errores en la codificación.
Índice
MÓDULO 1. INTRODUCCIÓN
1. Potenciación de las generaciones de codificación limpia y funcional en desarrolladores con experiencia anterior en JavaScript
2. Estructuración con facilidad de un mejor código y en módulos diferenciados
3. Exploración de patrones y prácticas vigentes de diseño en la industria actual y cómo usarlos
4. Aprendizaje para la realización de pruebas unitarias
5. Control y gestión adecuado de errores en JavaScript
MÓDULO 2. CONCEPTOS INICIALES PARA LA GENERACIÓN DE CÓDIGO LIMPIO (CLEAN CODE) CON JAVASCRIPT
1. Variables
2. Qué es Lexical Scope (static scope). Uso de la instrucción “let”
3. Funciones
4. Todo sobre la palabra clave “this”
5. Objetos and Clases
6. Prevención de errores y formato homogéneo del código gracias a la herramienta Linter
7. Actividad de evaluación de los conocimientos adquiridos por el alumno
MÓDULO 3. CONCEPTOS INICIALES DE GENERACIÓN DE CÓDIGO FUNCIONAL CON JAVASCRIPT
1. ¿Qué la programación funcional?
2. Las Funciones Puras en JavaScript
3. El correcto uso del método Object.assign y el operador Spread
4. Optimización de bucles en JavaScript
5. Reducción de arrays
6. Filtrado en arrays
7. Actividad de evaluación de los conocimientos adquiridos por el alumno
MÓDULO 4. MÓDULOS EN JAVASCRIPT
1. Reutilización de código con patrón Módulo (Module Pattern)
2. Utilización del gestor de paquetes Node Package Manager (NPM)
3. El proyecto CommonJS
4. La API de definición asíncrona de módulos (AMD)
5. Módulos de ES6
6. Eliminación de código inactivo (Tree-Shaking) con Webpack
7. Actividad de evaluación de los conocimientos adquiridos por el alumno
MÓDULO 5. PATRONES Y PRINCIPIOS DE DISEÑO
1. Qué es el principio de responsabilidad única (Single Responsability Principle)
2. El principio Open/Closed
3. El principio de sustitución Liskov
4. El principio de segregación de la interfaz
5. El principio de Inversión de Dependencias (Dependency Inversion)
6. El patrón Singleton
7. El patrón Observer
8. El patrón Estrategia (Strategy)
9. Actividad de evaluación de los conocimientos adquiridos por el alumno
MÓDULO 6. PRUEBAS DEL CÓDIGO GENERADO
1. Qué son y qué no son y la importancia de las pruebas unitarias
2. Instalación y uso del framework de testing Jasmine
3. Desarrollo guiado por pruebas de software, o Test-Driven Development (TDD)
4. Ejercicio guionizado para consolidar formación del alumno
MÓDULO 7. MANEJO DE ERRORES
1. Estudio de buenas prácticas
2. Detección de errores en operaciones asíncronas (Objeto Promise)
3. Estrategias y recomendaciones en el manejo de errores
4. Generación de logs con JavaScript
5. Actividad de evaluación de los conocimientos adquiridos por el alumno