Compilacion, preprocesador y seguridad (0x50XX)
Reglas sobre compilacion, preprocesador, cabeceras y seguridad estatica.
Reglas sobre compilacion, preprocesador, cabeceras y seguridad estatica.
Tabla de reglas¶
| Regla | Título | Antipatrones integrados |
|---|---|---|
| 0x5001h | Los arreglos estáticos deben ser creados con un tamaño fijo en tiempo de compilación | — |
| 0x5002h | Desarrollá y compilá siempre con todas las advertencias del compilador activadas | — |
| 0x5003h | Utilizá guardas de inclusión en todos los archivos de cabecera | — |
| 0x5004h | Todas las operaciones con cadenas deben ser seguras | AP-0x5004b, AP-0x5004c, AP-0x5004h |
| 0x5005h | Organizá la estructura de tus archivos .c de forma estándar | — |
| 0x5006h | Preferí fgets sobre gets y scanf para leer cadenas | AP-0x400Ah |
| 0x5007h | Inclusiones redundantes o duplicadas de la misma cabecera #include | — |
| 0x5008h | Prohibición de funciones obsoletas o inseguras (gets, atoi) | AP-0x5008h |
| 0x5009h | Prohibición de división entera no intencional asignada a flotantes | AP-0x5009h |
| 0x500Ah | Protección obligatoria de parámetros en macros funcionales mediante paréntesis | AP-0x500Ah |
| 0x500Bh | Inclusión obligatoria de cabeceras estándar para funciones de la biblioteca C | — |
| 0x500Ch | Prohibición de inclusión directa de archivos de código fuente C (.c) | — |
| 0x500Dh | Prohibición de redefinir palabras clave o tipos primitivos de C con #define | AP-0x0039h, AP-0x500Bh |
| 0x500Eh | Prohibición de la biblioteca obsoleta y no estándar <conio.h> (getch, clrscr) | — |
| 0x500Fh | Colisión de nombres de macroguardas entre archivos de cabecera distintos | — |
| 0x5010h | Prohibición de directivas #pragma no estándar o privativas | — |
| 0x5011h | Prohibición de declaraciones extern en archivos de implementación (.c) | — |
| 0x5012h | Detección de inclusiones cíclicas entre archivos de cabecera | — |
| 0x5013h | Protección obligatoria con paréntesis envolventes en expresiones de macroconstantes (#define) | — |
| 0x5014h | Inclusión explícita obligatoria de cabeceras para funciones de biblioteca estándar | — |
| 0x5015h | No invoques el interprete de comandos con system() o popen() | (regla promovida de antipatrón) |