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 Buenas Prácticas en C++

DISPONIBLE EN MODALIDAD:

Mejora la calidad de tu código haciendo uso de buenas prácticas y lleva tu código al siguiente nivel.

Aplica conceptos de código limpio, arquitectura limpia y principios SOLID. Con esto vas a conseguir un código mucho más cuidado y vas a conseguir proyectos mucho más legibles y de una mayor calidad.

iconClienticonClienticonClienticonClienticonClienticonClienticonClienticonClienticonClienticonClienticonClienticonClienticonClienticonClienticonClienticonClienticonClienticonClienticonClienticonClienticonClienticonClient
Formación en Buenas Prácticas en C++ bonificable para empresas

¿A quién va dirigido?

Este curso va dirigido a profesionales que, sabiendo programar en C++, quieren aprender buenas prácticas para mejorar la calidad de su código.

Objetivos

  • Aprende a nombrar correctamente tanto métodos como variables como clases.
  • Descubre como realizar la documentación del código mediante comentarios.
  • Domina la gestión de errores dentro del código.
  • Aplicar los principios SOLID.
  • Aprender Arquitectura limpia.

¿Qué vas a aprender?

Mejora la calidad de tu código haciendo uso de buenas prácticas y lleva tu código al siguiente nivel. Aplica conceptos de código limpio, arquitectura limpia y principios SOLID. Con esto vas a conseguir un código mucho más cuidado y vas a conseguir proyectos mucho más legibles y de una mayor calidad.

Requisitos

  • Para realizar este curso es necesario tener una base sólida en C++.
  • Es necesario disponer de permisos suficientes para poder instalar software en el equipo a utilizar durante la formación
  • Se requieren permisos suficientes como para poder instalar software en tu equipo y hacer cambios en Visual Studio.
  • Disponer de la última versión de Visual Studio instalada en el equipo (Community o Enterprise).

Temario del curso

tema 1

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
tema 2

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 3

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
  • La importancia del nombrado de las funciones
  • 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 4

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
  • Comentarios Legales
  • Se debe explicar la intencionalidad del código
  • Incluir explicaciones de consecuencias
  • Clarificación de comentarios
  • ¿Qué es un comentario de mala calidad?
  • Comentarios confusos
  • Comentarios redundantes
  • Comentarios mal descritos
  • Comentarios sobrantes
  • Comentarios periódicos
  • Comentarios obligatorios
  • Marcadores de posición
  • Uso de funciones o variables sin comentarios
  • Comentarios de llave de cierre
  • Comentarios que incluyen información no local
  • Menciones y asignaciones en los comentarios
  • Comentarios con demasiada información
  • Comentarios como encabezados de funciones
  • Documentando código público y privado
tema 5

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
  • Leyendo código como un periódico
  • La densidad vertical en el código
  • La 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 6

Los Objetos y otras estructuras de datos

  • La abstracción de los datos
  • Qué es la asimetría de objetos y datos
  • La Directiva del Principio de Menor Conocimiento o LOD
  • Los objetos de transferencia de datos
tema 7

El Procesamiento correcto de Errores

  • La importancia de hacer uso de las excepciones
  • Try/Catch/Finally
  • ¿Qué ocurre si no comprobamos las excepciones?
  • Por qué ofrecer contexto junto a las excepciones
  • Definiendo clases de excepciones
  • La definición del flujo "normal" del código
  • Null. La importancia de no devolverlo o pasarlo
tema 8

Los límites de nuestro código

  • ¿Qué ocurre cuando hacemos uso de código de terceras partes?
  • Debemos conocer los límites
  • Haciendo uso de log4j API
  • Haciendo uso de código que todavía no está listo
  • ¿Qué entendemos por límites limpios?
tema 9

La organización de las clases

  • La importancia de la encapsulación de nuestras clases
  • El tamaño de las clases también importa
  • Introducción al Principio de Responsabilidad Única
  • La importancia de la cohesión y consistencia de resultados
  • ¿Cómo organizar los cambios?
tema 10

Sistemas

  • Separación de Conceptos
  • Patrón factoría e inyección de dependencias
  • Programación Orientada a Aspectos en C++ (AOP)
  • Pruebas unitarias orientadas a la arquitectura del sistema
  • ¿Cómo optimizar la toma de decisiones?
  • El uso de estándares efectivos
  • La necesidad de los lenguajes del dominio
tema 11

Diseños Emergentes

  • ¿Qué es un diseño emergente?
  • La ejecución de todas las pruebas
  • Refactorización
  • Eliminación de código duplicado
  • Minificación de clases y métodos
tema 12

La Concurrencia

  • Desmitificando la concurrencia
  • Entendiendo correctamente qué es la concurrencia
  • Principios sobre la concurrencia
  • El Principio de Responsabilidad Única
  • La limitación del ámbito de los datos
  • Las copias de los datos
  • La importancia de la independencia de procesos
  • Las bibliotecas y su compatibilidad con los procesos
  • Los 3 distintos modelos de ejecución
  • La dependencia entre métodos sincronizados
  • La importancia de reducir las partes sincronizadas
  • ¿Cómo probar adecuadamente un código con procesos?
tema 13

Principios SOLID

  • Principios de la arquitectura limpia (SOLID)
  • Principio de responsabilidad única
  • Principio de abierto-cerrado
  • Principio de sustitución de Liskov
  • Principio de segregación de la interfaz
  • Principio de inversión de la dependencia
tema 14

Arquitectura limpia

  • Diseño y arquitectura ¿Son lo mismo?
  • Introducción a la arquitectura limpia
  • Características de la arquitectura limpia
  • Partes de la arquitectura limpia
  • Cohesión y acoplamiento de los componentes
  • La política y el nivel
  • Las reglas del negocio
  • Los límites y su anatomía
  • Límites parciales y capas
  • Servicios pequeños y grandes
  • Preparación de un proyecto enfocado a la arquitectura limpia
  • Conclusión y buenas prácticas

Curso de Buenas Prácticas en C++ 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