Análisis del código

Análisis sobre la marcha

CLion supervisa constantemente su código para detectar posibles errores. Si encuentra algo, resalta el fragmento de código sospechoso en el editor. Si usted observa el medianil de edición de la derecha, verá tiras de errores amarillas y rojas que, si se hace clic en ellas, lo llevarán a los problemas detectados. Otra forma de navegar de una incidencia resaltada a otra es pulsando F2/Shift+F2. El indicador de estado en la parte superior del medianil resume el estado del archivo.

Además de encontrar errores de compilación, CLion identifica las ineficiencias del código e incluso realiza un análisis de flujo de datos de su código, para ubicar el código inaccesible / no utilizado, así como otros problemas y «hediondeces del código».

Arreglos rápidos

Las inspecciones de código sobre la marcha de CLion cubren alrededor de 40 casos de problemas potenciales en el código C/C ++ y también unos cuantos en otros lenguajes.

Cuando se resalta un problema, coloque el cursor en él, pulse Alt+Enter y elija entre las soluciones rápidas sugeridas. (También puede acceder al menú contextual haciendo clic en la bombilla junto a la línea.)

También puede optar por solucionar todos los problemas similares en su proyecto. O, si no encuentra útil esta inspección, la puede adaptar a sus necesidades.

Inspeccionar el código

CLion proporciona descripciones detalladas de todas las inspecciones disponibles. También puede gestionar su alcance (elija entre Typo, Warning, Error, etc.) o incluso, en algunos casos, ajustar los parámetros de una inspección para que refleje mejor sus requisitos.

Puede ejecutar varias inspecciones (o incluso todas) en este modo por lotes con Code | Inspect Code.

Si desea eliminar un problema en particular de toda su base de código, puede utilizar Ejecutar inspección por nombre (Ctrl+Alt+Shift+I) y seleccionar el alcance deseado. Se abrirá una ventana separada con los resultados de la inspección, en la que puede reagrupar los problemas y aplicar soluciones rápidas por lotes a todos los problemas, cuando sea posible.

Clang-Tidy

Clang-Tidy

CLion viene con integración de Clang-Tidy. Las verificaciones de Clang-Tidy se muestran de la misma manera que las inspecciones de código incorporadas de CLion, y también proporciona soluciones rápidas a través de Alt+Enter.

Ir a Settings/Preferences | Editor | Inspections | C/C++ | General | Clang-Tidy para ajustar la lista de verificaciones habilitadas / deshabilitadas en CLion. El formato de la línea de comando de Clang-Tidy se utiliza en el campo de texto. Puede ver la configuración predeterminada aquí. O utilizar los archivos de configuración .clang-tidy en lugar de la configuración proporcionada por el IDE.

Habilite C++ Core Guidelines o verificaciones de Clang Static Analyzer, pruebe las verificaciones Modernize o incluso implemente sus propias verificaciones y recíbalas inmediatamente en CLion (para verificaciones personalizadas, cambie el binario de Clang-Tidy al suyo propio en Settings/Preferences | Languages & Frameworks | C/C++).

Comprobaciones de Clangd

Comprobaciones integradas en Clangd

Hay varias inspecciones implementadas integradas en el motor basado en Clangd personalizado de CLion:

  • La función de miembro puede ser estática
  • Errores de selección de argumento
  • Instrucción o declaración vacía
  • Llamada virtual de constructor o destructor
  • Unused includes

La comprobación «unused includes» sugiere 3 estrategias de detección: una conservadora, una agresiva y una predeterminada (Detect not directly used), que es la más parecida al principio «Include What You Use».

Más información

DFA

Análisis de flujo de datos

El análisis del flujo de datos (DFA) hace el seguimiento del flujo de datos en su código y detecta los posibles problemas sobre la base de ese análisis. Además del DFA local (que funciona dentro de una única función), CLion incluye un DFA global (que considera toda una unidad de traducción de un programa como una única unidad para el análisis). El DFA global no solo enriquece las verificaciones ya existentes, sino que añade varias inspecciones únicas.

MISRA

MISRA

CLion incluye verificaciones de MISRA C 2012 y MISRA C++ 2008. La lista completa de las verificaciones admitidas se mantiene en nuestra página de Confluence y le permite supervisar el progreso fácilmente.