Envíanos tu consulta
Términos y condiciones *
*Si no puedes asistir en directo te facilitaremos un enlace para verlo en diferido
logoImagina
Formación
Modalidades
Próximas Convocatorias
Temario
FAQ
Solicitar información
iconoCurso

Curso de Buenas Prácticas en Desarrollo de Software

DISPONIBLE EN MODALIDAD:
aMedidaIcon
Aula Virtual Personalizada
arrowRightDark

Aprende las mejores prácticas para desarrollar software de forma correcta y eficaz. Explora conceptos como patrones de diseño, principios SOLID, metodologías ágiles o código limpio.

iconClienticonClienticonClienticonClienticonClienticonClienticonClienticonClienticonClienticonClienticonClienticonClienticonClienticonClienticonClienticonClienticonClienticonClienticonClienticonClienticonClienticonClient

Formación en Buenas Prácticas en Desarrollo de Software bonificable para empresas

A quién va dirigido nuestro curso de Buenas Prácticas en Desarrollo de Software

Todos aquellos desarrolladores que quieran asentar unas buenas bases en cuanto a buenas prácticas para sus desarrollos

Objetivos de nuestro curso de Buenas Prácticas en Desarrollo de Software

  • Comprender las fases por las que pasa un desarrollo software
  • Gestionar las versiones de SW con GIT y aprender buenas prácticas en la gestión de repositorios y ramas con Gitflow
  • Ser capaces de identificar que metodología se adapta más a nuestras necesidades
  • Conocer y asimiliar conceptos que nos ayuden a generar un código de mayor calidad

Qué vas a aprender en nuestro curso de Buenas Prácticas en Desarrollo de Software

Aprende las mejores prácticas para desarrollar software de forma correcta y eficaz. Explora conceptos como patrones de diseño, principios SOLID, metodologías ágiles o código limpio.

Requisitos de nuestro curso de Buenas Prácticas en Desarrollo de Software

  • Es recomendable tener experiencia previa en algún lenguaje de programación
  • Son necesarios permisos de administrador en el equipo en el que se realice la formación

Temario del curso de Buenas Prácticas en Desarrollo de Software

tema 1

Entendiendo el ciclo de vida del desarrollo de software

  • ¿Por qué es importante?
  • Identificando las diferentes fases de un desarrollo
  • Planificación
  • Análisis
  • Diseño
  • Implementación
  • Pruebas
  • Instalación o despliegue
  • Mantenimiento
iconArrowDown
tema 2

Modelos de ciclos de vida del software y metodologías Ágiles

  • ¿Qué son estos modelos?
  • Cascada
  • Repetitivo
  • Espiral
  • En V
  • Big Bang
  • ¿Qué modelo debería usar?
  • Las metodologías ágiles
  • El manifiesto ágil
  • Scrum
  • Kanban
  • eXtreme Programming
  • Desarrollo Ligero (Lean)
  • Peer review
iconArrowDown
tema 3

Introducción al control de versiones con GIT

  • ¿Qué es el control de versiones?
  • Sistemas de control de versiones locales
  • Sistemas de control de versiones centralizados
  • Sistemas de control de versiones distribuidos
  • Introducción a Git como SCV
  • Gitlab
  • Pautas a seguir para aplicar el mantenimiento sobre el proyecto
iconArrowDown
tema 4

Instalación

  • Introducción
  • Instalación
  • Configuración
iconArrowDown
tema 5

Repositorio local en GIT

  • Introducción
  • Configuración de git
  • Gestión de usuarios y permisos de acceso
  • Checkout inicial de un repositorio
  • Obteniendo un repositorio
  • Herramientas visuales para trabajar en Eclipse
  • Herramientas visuales para trabajar en IntelliJ
  • Herramientas visuales para trabajar en Visual Studio Code
  • Fork como aplicación recomendada y otras alternativas
  • Guardando cambios en el repositorio
  • Ver el historial de confirmaciones
  • Instrucciones básicas
  • Ciclo de vida de un proyecto
  • Etiquetas (tagging)
  • Ver historial de confirmaciones
  • Deshacer cambios
  • Branches
  • Merge
  • Update‐>change‐>review‐>commit
  • Rebase
  • Stash
  • Cherry Pick
  • Forking workflow
  • Protocolo 2Phase commit
  • GitHooks
iconArrowDown
tema 6

Repositorios remotos de GIT

  • Introducción
  • Crear cuenta en Gitlab
  • Crear repositorio remoto
  • Explorar repositorio
  • Clonar repositorios remotos
  • Subiendo un proyecto existente al repositorio
  • Remote
  • Remote/fetch
  • Fetch
  • Fetch/pull
  • Push
  • Archivos GitIgnore
iconArrowDown
tema 7

Gestión de Conflictos en GIT

  • Cómo se generan los conflictos
  • Resolver los conflictos
  • Recuperar versiones anteriores
  • Revisiones e historia de documentos
iconArrowDown
tema 8

Gitflow

  • ¿Qué es el desarrollo paralelo?
  • ¿Qué es Gitflow
  • Instalación
  • Estrategias de branching automáticas con GitFlow
  • Comandos esenciales
iconArrowDown
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
  • Frameworks disponibles y sintaxis empleada
  • ¿Qué se debe probar?
  • Creación de tests unitarios
  • Empleando Mocks y Stubs para dependencias del SUT
  • Introducción a BDD
  • Identificación de features y escenarios
  • Sintaxis de Gherkin
  • Frameworks y herramientas disponibles
  • Automatización CI/CD en Gitlab
iconArrowDown
tema 10

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
iconArrowDown
tema 11

Refactoring

  • ¿En qué consiste el refactoring?
  • Beneficios del refactoring
  • Nombrado
  • Funciones puras
  • Especialización de funciones
  • Otras buenas prácticas
  • Ejemplos prácticos
iconArrowDown
tema 12

Patrones creacionales y estructurales y de comportamiento

  • Abstract Factory
  • Builder
  • Factory Method
  • Prototipo
  • Singleton
  • Adapter
  • Bridge o puente
  • Composite
  • Decorator
  • Facade
  • Flyweight
  • Proxy
  • Cadena de responabilidades
  • Command
  • Iterator
  • Mediator
  • Memento
  • Observer
  • State
  • Strategy
  • Template Method
  • Visitor
iconArrowDown
tema 13

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
iconArrowDown
tema 14

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
iconArrowDown
tema 15

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
iconArrowDown
tema 16

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
iconArrowDown
tema 17

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
iconArrowDown
tema 18

Diseño atómico

  • ¿Qué es el diseño atómico?
  • ¿Cuáles son sus ventajas?
  • Librería de patrones
  • UI frameworks
  • Átomos
  • Moléculas
  • Organismos
  • Plantillas
  • Páginas
iconArrowDown
tema 19

Diseño atómico conPattern Lab

  • Introducción de Pattern Lab
  • Instalación de Node.js y Pattern Lab
  • Empezar con Pattern Lab
  • Estructura de patrones
  • Gestión de patrones
iconArrowDown
tema 20

Uso avanzado de Pattern Lab

  • pseudo-patterns
  • Anotaciones
  • Vincular los patrones
  • Datos de Pattern Lab
  • PatternEngines
  • Starterkit
iconArrowDown
tema 21

Mixins

  • Introducción a los Mixins
  • Ventajas y desventajas
  • Los lenguajes que usan Mixins
  • Cómo funcionan los Mixins
  • Ejemplo práctico
  • EventMixin
iconArrowDown

Preguntas Frecuentes de Buenas Prácticas en Desarrollo de Software

¿Cuáles son los beneficios del curso Buenas Prácticas en Desarrollo de Software?

accordionIcon
Al finalizar el curso, tu equipo será capaz de aplicar metodologías eficientes, aumentar la calidad del código y mejorar la colaboración en proyectos, lo que resultará en un producto final más robusto y mantenible.

¿El curso Buenas Prácticas en Desarrollo de Software está 100% bonificado por FUNDAE?

accordionIcon
Sí, el curso puede ser 100% bonificado a través de FUNDAE siempre que cumplan con los requisitos establecidos por esta fundación.

¿Cómo se imparten las clases del curso Buenas Prácticas en Desarrollo de Software?

accordionIcon
Las clases se imparten en modalidad online, permitiendo a tus empleados acceder al contenido desde cualquier lugar y en cualquier momento, favoreciendo así la flexibilidad y adaptabilidad al horario laboral.

¿Qué habilidades desarrollará mi equipo al realizar el curso Buenas Prácticas en Desarrollo de Software?

accordionIcon
Tu equipo aprenderá a implementar estándares de código, utilizar herramientas de control de versiones, realizar pruebas automatizadas, y aplicar principios de diseño eficiente, entre otros conocimientos clave.

¿Cómo me inscribo en el curso Buenas Prácticas en Desarrollo de Software?

accordionIcon
Para inscribir a tus empleados, debes completar el formulario de inscripción disponible en nuestro sitio web o contactar directamente con nuestro equipo de soporte al cliente para obtener más información y asistencia en el proceso.