Skip to article frontmatterSkip to article content
Site not loading correctly?

This may be due to an incorrect BASE_URL configuration. See the MyST Documentation for reference.

Cuestiones de estilo

Pautas para la organización y prolijidad del código.

Universidad Nacional de Rio Negro - Sede Andina

Introducción

Este documento establece un conjunto de reglas de estilo, diseñadas para que su código en C sea más claro, legible y menos propenso a errores. La programación en C ofrece una gran flexibilidad, pero ello también facilita la adopción de malas prácticas que pueden conducir a errores de difícil detección. Por este motivo, la adhesión a un conjunto de reglas claras es fundamental para mantener el código ordenado y seguro.

La idea detrás de estas reglas es que un código de calidad no solo debe ser funcional, sino también comprensible para cualquier profesional que deba leerlo, ya sea vos mismo en el futuro o un colega que se incorpore al proyecto. Un código limpio y bien organizará facilita la colaboración, ahorra tiempo en la fase de corrección y previene complicaciones durante la depuración o actualización del software.

Estas reglas abarcan desde la nomenclatura de variables y funciones hasta la estructuración de condicionales y lazos. Su observancia no solo contribuye a la coherencia del proyecto, sino que también resulta en un código más robusto y mantenible a largo plazo.

Al comenzar, la aplicación de reglas estrictas en un lenguaje flexible como C te proporciona un marco sólido. A medida que tu comprensión del lenguaje se profundice, podés adaptar estas reglas para desarrollar un estilo propio.

Apertura a Sugerencias y Debate

Estamos abiertos a debatir todas las reglas. Para ello, solo tenés que abrir un hilo en Discussions o un ticket en el Issue Tracker. Aceptamos propuestas de nuevas reglas, clasificaciones, explicaciones y potenciales excepciones.

Principios Clave


Estructura de Clasificación de Reglas (Máscara de Bits)

Para facilitar la referencia cruzada y el análisis estático de las pautas de estilo, las reglas se encuentran organizadas en secciones temáticas progresivas bajo un esquema de máscara de bits de 16 bits (0xXXXX):

  1. Sintaxis Básica y Nomenclatura (0x00XX): Reglas visuales, espaciado, indentación y pautas de nombrado de variables y constantes.

  2. Estructuras de Control y Lazos (0x10XX): Bloques condicionales, estructuras de iteración y flujos de ejecución de sentencias.

  3. Funciones y Modularización (0x20XX): Diseño de interfaces de funciones, documentación de contratos, alcance y responsabilidades.

  4. Punteros y Gestión de Memoria (0x30XX): Uso de indirecciones, alocación en el heap, gestión de punteros nulos y liberación segura de recursos.

  5. Gestión de Archivos y Errores (0x40XX): Apertura/cierre de flujos de archivos, validación de E/S, gestión de errno y diagnóstico del sistema.

  6. Compilación y Buenas Prácticas de Ingeniería (0x50XX): Configuración de alertas, guardas de cabeceras, robustez y estructuras de código estándar.

Sintaxis Básica y Nomenclatura

Estructuras de Control y Lazos

Funciones y Modularización

Punteros y Gestión de Memoria

Gestión de Archivos y Errores

Compilación y Buenas Prácticas de Ingeniería