Saltar al contenido

¿Hay alguna manera de hacer cumplir el uso de "esto->" para los miembros/métodos de la clase en formato clang/clang-tidy?

No olvides que en las ciencias cualquier problema suele tener varias resoluciones, no obstante nosotros mostraremos lo más óptimo y mejor.

Solución:

Dadas las opciones existentes, no creo que esto sea posible con el formato clang, aunque no lo será en el futuro. La razón principal de esto es la forma en que funciona el programa. No analiza el código C++ en AST, sino que tokeniza el texto sin necesidad de inclusiones (definiendo qué es un miembro y qué es una variable global), no es una base de datos de compilación (que influye en las definiciones, incluye rutas...) Es incluso es posible darle un fragmento de código y reformatearlo.

Por la naturaleza del problema, uno podría esperar, si puede existir dentro de las herramientas clang, que sea una advertencia del compilador o una orden clang. Como esto debería ser barato de verificar en el momento de la compilación, podría ser posible una advertencia, aunque las advertencias generalmente se refieren a mejoras aceptadas globalmente. No creo que haya un consenso al respecto.

Entonces, eso deja todo limpio. Mirando las opciones, no veo la opción. Veo que es posible como un readability-* cheque, ya que aquí se permiten cheques más controvertidos. Sin embargo, creo que si quieres esto, deberías escribirlo tú mismo y proporcionarlo al proyecto.

Una última nota personal: no estoy convencido de que this-> es una buena solución, aunque tampoco lo es comenzar todo con m_ (ya es posible), o no hacerlo. Sería bueno si el cheque fuera configurable para agregar/eliminar this->por lo que uno podría probar cosas.

Por el aspecto de la documentación de formato clang sobre sus opciones de estilo, esto no parece posible.

Reseñas y valoraciones

Si te ha sido útil este artículo, te agradeceríamos que lo compartas con más seniors de esta manera contrubuyes a difundir nuestro contenido.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada.