Imagina Formación

Curso de Código limpio con Java

Aprende a desarrollar de forma profesional en Java aplicando técnicas de código limpio y testing para conseguir un código de calidad.

Objetivos

El objetivo de este curso consiste en lograr que los alumnos aprendan y desarrollen las habilidades necesarias para crear aplicaciones Java mantenibles y extensibles. Bajo los estándares del código limpio y una serie de buenas prácticas de diseño y paradigmas, se conseguirá una mayor calidad de SW. 

¿A quién va dirigido?

Este curso está enfocado en programadores Java que quieran desarrollar las habilidades necesarias para crear aplicaciones mantenibles y extensibles.

Duración
Consultar
Requisitos
Para realizar este curso es necesario tener una base sólida en Java. Además, es necesario disponer de permisos suficientes como para poder instarar software en el equipo a utilizar durante la formación.
Bonificación FUNDAE
Sí, solo disponible para empresas.

Quiero recibir información de este curso


    *requerido

    • Responsable de los datos: IMAGINA WEB & MOBILE TECHNOLOGIES S.L.
    • Finalidad de los datos: Responder a la información solicitada, envío de boletines de noticias y ofertas.
    • Destinatarios: IMAGINA WEB & MOBILE TECHNOLOGIES S.L. No se cederán los datos a terceros.
    • Derechos: En cualquier momento puedes acceder, recuperar y borrar tu información.

    Temario

                   

    ¿Necesitas un temario a medida? Consúltanos.

    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
    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
    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
    • NRY, No te repitas
    • La programación estructurada
    • Creación de funciones limpias
    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 con Javadoc código público y privado
    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
    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
    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
    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?
    9

    Pruebas limpias

    • Leyes del DGP
    • ¿Qué son las pruebas limpias y cómo realizarlas?
    • Una afirmación y concepto por cada prueba
    • El principio F.I.R.S.T para mejorar la calidad de nuestras pruebas
    10

    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?
    11

    Sistemas

    • Separación de Conceptos
    • Patrón factoría e inyección de dependencias
    • Aspectos transversales
    • Proxies de Java
    • Programación Orientada a Aspectos en Java (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
    12

    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
    13

    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?
    14

    Argumentos

    • ¿Cómo implementar Args?
    • Hablemos de los Args
    • ¿Qué son los argumentos de cadena?
    15

    JUnit y pruebas unitarias

    • Breve introducción a JUnit
    • Conociendo la estructura de JUnit
    16

    SerialDate: Refactorización

    • Realizar una refactorización eficaz
    • Revisión para hacer la refactorización eficiente y correcta
    17

    Hablando de Síntomas y Heurística

    • Analizando los apartados generales de nuestro código
    • Analizando el Entorno
    • Analizando los Comentarios
    • Analizando las Funciones
               

    ¿No es lo que estabas buscando? También hacemos temarios a medida para empresas, consúltanos.

    Realiza el curso desde donde quieras gracias a nuestro campus online.
    Dispondrás de un profesor experimentado en programación y desarrollo, que te ayudará
    y responderá a todas tus dudas.
    Tutor personal
    Proyecto final
    Diploma de certificación
    Plataforma online
    Disponibilidad horaria
    Bolsa de empleo

    ¿Quieres realizar esta formación sin coste para tu empresa?

     

    ¡Sin desplazamientos! Impartimos la formación en tu empresa.

    Imagina Formación es una entidad organizadora de la Fundación Estatal de modo que puedes gestionar la formación bonificada de los cursos con nosotros.

    Nos encargamos de todos los trámites para conseguir la bonificación sin ningún coste adicional. Cumplimos con todos los requisitos para que nuestros cursos sean 100% bonificables.

    Consulta disponibilidad y precios

    ¿Tienes alguna duda?

    Puedes hablar con uno de nuestros profesores.

    ¡Pregúntanos!

    ↑ Ir arriba