Índice de Referencia y Material Complementario¶
En esta sección se consolidan las guías de consulta rápida, compendios de algoritmos de la cátedra y guías de refactorización para escribir código C limpio, robusto y conforme a los estándares.
Guías y Manuales de Referencia¶
Biblioteca Estándar de C: Manual de referencia de la Biblioteca Estándar de C (Standard Library) organizado por archivos de cabecera (headers).
Decálogo de Algoritmos de Busqueda y Ordenamiento: Compendio detallado de algoritmos de búsqueda (secuencial, binaria) y ordenamiento (burbuja, selección, inserción, QuickSort, MergeSort, HeapSort) junto con su análisis de complejidad temporal y espacial.
Makefiles: Guía práctica y recetas de automatización de compilación de proyectos modulares utilizando
makey archivosMakefile.La función printf: Manual de uso y especificadores de formato para las funciones de entrada y salida estándar con formato (
printfyscanf).guide-gdb.md: Guía práctica de depuración con GDB, inspección de pila (stack frames), puntos de interrupción y evaluación de variables.
guide
-valgrind -asan .md: Manual de lectura de reportes de fugas de memoria y accesos inválidos con Valgrind y AddressSanitizer. guide
-preprocesador .md: Documentación del preprocesador de C, inclusión condicional, macros defensivas y prevención de colisiones.
Guías de Refactorización de Código¶
Por si llegas acá de forma directa, una refactorización es una forma de cambiar el código, que no altera su funcionamiento, pero mejora alguno de sus aspectos, como la legibilidad.
Refactorización de Código Duplicado: El principio Don’t Repeat Yourself (DRY), cómo evitar duplicación de código e integrar componentes reutilizables.
Extracción de Funciones: Técnicas y criterios de diseño para extraer funciones y reducir el tamaño y complejidad de rutinas individuales.
Eliminación de Números Mágicos: Identificación y reemplazo de números mágicos por constantes descriptivas (
#definey enumerados).Mejora de Nombres y Comunicación de Intenciones: Buenas prácticas en la nomenclatura de variables, funciones, alias de tipos y estructuras para mejorar la legibilidad.
Simplificación de Condicionales: Criterios y álgebra de Boole aplicada para simplificar expresiones condicionales anidadas o complejas.
Técnicas de Simulación de Estructuras de Control: Simulación del pasaje de parámetros por referencia en C utilizando direcciones de memoria física y punteros.
Único Retorno: Criterios pedagógicos del uso de múltiples retornos frente al retorno único, y el patrón de retorno anticipado (early return).
Refactorización de Variables y Alcance: Gestión correcta del ciclo de vida, inicialización y ámbito de variables para prevenir estados inconsistentes.