Embellecer código de C++ y C con clang-format

En este post te mostraré cómo formatear (agregar estilo legible) a tu código de C y C++, es decir, embellecerlo.

Aunque este formateador funciona para otros lenguajes (C#, JavaScript, Objective-C) solo te mostraré el ejemplo con los dos lenguajes que mencioné.

Vamos a usar clang, y específicamente el binario de clang-format.

Nota: recomiendo usar clang solo para embellecer el código; pero si quieres un compilador de C o C++ dale un vistazo a mingw que tiene g++ y gcc.

Descargar e instalar clang

Ve a la página de descargas dentro de Pre-Built Binaries: https://releases.llvm.org/download.html y elige ya sea para 32 o para 64 bits.

Ejecuta el instalador y dale Siguiente, Siguiente. Lo único importante es que cuando te pregunte lo de la PATH selecciones agregarlo para el usuario actual o para todos los usuarios:

Agregar LLVM a PATH (compilador de C y C++)

Formatear código

Si hiciste todo correctamente entonces ahora puedes usar clang-format. Las opciones más comunes son las siguientes.

Para formatear el código y mostrar el código embellecido en la salida estándar (si no sabes qué es, me refiero a la consola) ejecuta clang-format archivo.extensión

Si quieres que el código ya embellecido se guarde dentro del mismo archivo entonces pasa la opción i así: clang-format -i archivo.extensión

También puedes embellecer el código de C y C++ de varios archivos. Así:

clang-format archivo1 archivo2

Si lo quieres con la opción i, pasa primero la opción y luego los archivos:

clang-format -i archivo1 archivo2

Otra opción interesante es style, que toma el estilo. Hay varios, los cuales son LLVM, Google, Chromium, Mozilla y WebKit. Para pasar el estilo que se usa al formatear el código usa:

clang-format --style=estilo archivo1.extensión

Igualmente puedes pasar la opción -i así:

clang-format -i --style=estilo archivo1.extensión

La documentación la encuentras en la web de clang.

Embellecer código – Ejemplo

Veamos un simple ejemplo de cómo hacer el código de C más legible y embellecido. Tenemos el original:

Ahora al ejecutar clang-format hola.c se muestra el contenido formateado en la consola:

Código embellecido usando clang

No sé cuál es el estilo por defecto, pero en este caso como solo hay una expresión la pone en la misma línea. Si quisiera formatearlo y escribirlo en el mismo archivo sería:

clang-format -i hola.c

Lo que haría que ahora el archivo del código fuente esté así:

Probando distintos estilos de formato

Finalmente quiero mostrar cómo es que se usan los estilos. Esto es muy importante pues en algunas organizaciones o equipos obligan el uso de un estilo en particular.

Vamos a darles un vistazo:

Distintos estilos al formatear código usando clang

A mí me gusta más el estilo de chromium; pero será cosa de cada quien. Además, este es un ejemplo simple, en realidad los estilos son más que eso; indican cómo acomodar los comentarios, qué hacer con cadenas largas, etcétera.

Formatear código de C++

Puedes hacer lo mismo que hice con los archivos de C pero ahora usando archivos de C++; la herramienta detectará el lenguaje a través de la extensión del archivo.

Finalmente quiero mencionar que también puedes usar esta herramienta online.

Encantado de ayudarte


Estoy disponible para trabajar en tu proyecto, modificar el programa del post o realizar tu tarea pendiente, no dudes en ponerte en contacto conmigo.

No te pierdas ninguno de mis posts

Suscríbete a mi canal de Telegram para recibir una notificación cuando escriba un nuevo tutorial de programación.

Dejar un comentario