También he buscado una prueba de calidad de código así y todavía tengo que encontrar una.
La implementación de este debería ser ser bastante trivial: si todo el contenido de un GSP debe aplicarse a través de etiquetas, su GSP debe consistir únicamente en nodos de elementos y nodos de texto.
Este problema es predominantemente un problema XML: ¿cómo verifica un conjunto de documentos XML y marca aquellos que contienen nodos de texto?
Suponiendo que puede importar org.codehaus.groovy.grails.commons.GrailsResourceUtils
en una regla codenarc, puede usar la propiedad VIEWS_DIR_PATH
para determinar dónde viven todos los archivos GSP.
A partir de ahí, el proceso de alto nivel que se necesita es:
- construir una colección de todos los archivos del SGP en la aplicación
- Para cada archivo, cargar el contenido en un analizador XML (Java tiene montón) y compruebe el tipo de nodo para cada nodo, marcar los archivos que contienen los nodos de texto
Soy consciente de que esta es una solución muy alto nivel, pero conceptualmente debería funcionar.
Repaso muchos códigos para problemas i18n y l10n, y solo tengo algunas expresiones regulares a mano. Muchos son por idioma. – Ethan