Trabajo en un proyecto C ++ que genera miles de millones de advertencias. La mayoría de las advertencias aparecieron después de escribir el código:
- Inicialmente, el proyecto usó Visual C ++ 8, luego cambió a 9, pero hay poca diferencia en las advertencias generadas. Las advertencias fueron fijadas o silenciadas, por lo que no hubo advertencias entonces.
- Luego se agregó un objetivo de 64 bits. Generó una gran cantidad de advertencias, principalmente debido al uso descuidado de los tipos (por ejemplo,
unsigned
vs.size_t
). Nadie se molestó, o tuvo tiempo, para arreglarlos una vez que el código funcionó para ese propósito. - Luego se agregó soporte para otras plataformas que usan GCC (4.5 y 4.6, algunas 4.4 inicialmente). GCC es mucho más exigente, por lo que generó muchas más advertencias. De nuevo, nadie se molestó ni tuvo tiempo para arreglarlos. Esto se complicó por el hecho de que GCC no tenía un pragma para silenciar una advertencia en un bit de código particular hasta 4.5, y de acuerdo con la documentación todavía no es lo que uno necesitaría.
- Mientras tanto, aparecieron algunas advertencias obsoletas.
Así que ahora tenemos un proyecto que genera miles de advertencias. Y ni siquiera puedo decir desde cuántos lugares, ya que incluso los .cpp
archivos son compilados varias veces por diferentes compiladores y las advertencias en los encabezados se imprimen una y otra vez.
¿Existe alguna práctica recomendada para limpiar algo así? ¿O al menos alguna experiencia positiva al tratarlo?