que programacion programa ejecutar compilar compilador como build-process build-automation spell-checking build

build process - programacion - La mejor forma de incorporar correctores ortográficos con un proceso de compilación



que es compilar y ejecutar (6)

Lo hacemos de forma manual, si los errores no se recogen durante la prueba, entonces son recogidos por el equipo de control de calidad, o durante la localización por los traductores o durante la QA de localización. Entonces presentamos un error.

La mayoría de nuestros desarrolladores no son hablantes nativos de inglés, por lo que no es un problema poco común para nosotros. El número que se desliza a través de las grietas es tan pequeño que esta es una solución satisfactoria para nosotros.

Nada en unos pocos cientos de líneas es 100% libre de errores (bueno ... tal vez la pieza impar de código incrustado), solo piense en los errores de ortografía como errores y no pierda demasiado tiempo en ello.

Tan pronto como su aplicación madure, más del 90% de las cadenas no cambiarán entre lanzamientos y sería un ejercicio razonablemente trivial comparar dos versiones de sus recursos, descubrir qué hay de nuevo (verifíquelos primero), qué ha cambiado / actualizado (verifique luego) y qué no ha cambiado (no es necesario verificar esto)

Así que piense más bien que necesito verificar TODAS estas manualmente la primera vez, y solo voy a tener que verificar el 10% de ellas la próxima vez. Ahora pregúntate si todavía necesitas automatizar la revisión ortográfica.

Intento externalizar todas las cadenas (y otras constantes) usadas en cualquier aplicación que escribo, por muchas razones que probablemente sean de naturaleza secundaria a la mayoría de las superposiciones de pila, pero una cosa que me gustaría tener es la capacidad de automatizar la revisión ortográfica de cualquier cadenas visibles para el usuario. Esto plantea un par de problemas:

  • No todas las cadenas son visibles para el usuario, y no es trivial hablarlas, y mantener esa separación en su lugar (pero es posible )
  • La mayoría, si no todos, los métodos de externalización de cadenas que he utilizado implican texto significativo que no pasará un corrector ortográfico como aspell / ispell (por ejemplo: theStrName = "some string." Y comments)
  • Muchos correctores ortográficos (una vez más, aspell / ispell) no manejan muchas palabras de fábrica (generalmente términos técnicos, nombres propios o simplemente terminología ''nueva'', como metadatos).

¿Cómo incorporas algo como esto en tus procedimientos de construcción / suites de prueba? No es factible que alguien revise ortográficamente todas las cadenas de una aplicación cada vez que se modifican, y no hay posibilidad de que se escriban correctamente la primera vez.


Lo primero, con respecto a la externalización de cadenas: GNU GetText (si se usa correctamente) crea archivos de cadenas que no contienen casi ningún texto diferente al contenido real de las cadenas (hay algunos encabezados, pero es fácil hacer que un corrector ortográfico los ignore).

En segundo lugar, lo que haría es ejecutar el corrector ortográfico en un entorno de integración continua y que los errores se alimenten externamente, probablemente a través de una interfaz web, pero el correo electrónico también funcionará. Los desarrolladores pueden revisar los errores y corregirlos en el código o utilizar una interfaz sencilla para que el corrector ortográfico sepa que se debe ignorar una falta de ortografía (una interfaz web puede integrar tanto la vista de error como la interfaz del corrector ortográfico).


Primer punto, por favor no lo pongas en tu proceso de compilación. Sería un codificador vengativo si yo (es decir, mi computadora) tuviera que revisar la ortografía de todo el contenido del sitio cada vez que intentaba depurar o crear una nueva función. Ni siquiera creo que este tipo de operación pertenezca como una prueba unitaria (estás probando una interfaz humana, no una computarizada).

Segundo punto, no escribas un guion. Vas a tener tantos falsos positivos que las personas dejarán de leer los informes y no estarás mejor que cuando comenzaste.

En tercer lugar, esto probablemente se resuelva más fácilmente haciendo que los humanos lo hagan: equipo de QA, redactores de copias, probadores beta, traductores, etc. Todos los grandes sitios con contenido internacionalizado que he creado tenían el mismo proceso: tomamos la copia de los autores de las copias, lo enviaron al servicio / agencia de traducción, lo pusieron en la capa de persistencia y lo desplegaron. Los evaluadores (QA, desarrolladores, PM, diseñadores, etc.) encontrarían errores ortográficos o gramaticales y presentarían informes de errores. Simplemente hay demasiada burocracia y pares de ojos para que muchos errores de ortografía / gramática se salgan.

Cuarto punto, siempre habrá errores ortográficos y gramaticales en su página. Incluso los principales sitios web de periódicos no se han olvidado de esto y tienen edificios de oficinas completos llenos de editores.


Puedo pensar en dos formas de abordar esto de forma semiautomática:

Haga que el compilador lo ayude a diferenciar entre las cadenas utilizadas en la interfaz de usuario y las cadenas utilizadas en otros lugares. Sobrecargue diferentes variantes del tipo de datos de cadena dependiendo de su propósito, y sobrecargue los métodos de salida para aceptar solo ese tipo - de esa manera usted puede crear una interfaz de usuario falsa que simplemente emite las cadenas de interfaz de usuario, y hacer la revisión ortográfica de eso.

Si esto es factible, por supuesto, depende de la plataforma y la arquitectura general de la aplicación.

Otro enfoque podría ser simplemente actualizar la base de datos de correctores ortográficos con todas las cadenas que aparecen en el código (comentarios, xpaths, nombres de tablas, lo que sea) y considerarlos perfectamente cromáticos. Esto, por supuesto, reducirá la precisión de la revisión ortográfica.


Si está utilizando Java y está almacenando cadenas localizadas en paquetes de recursos, entonces podría verificar los archivos Bundle.properties y validar las cadenas de paquetes. También podría agregar una anotación de comentario especial que su procesador podría usar para determinar si se debe omitir una entrada.

Este método le permitirá dar una pista sobre la configuración regional y proporcionar una forma de verificar varios idiomas dentro del proceso de compilación.

No puedo responder cómo realizarías la revisión de la ortografía real, aunque creo que lo que he presentado te guiará en cuanto al método para realizar la revisión ortográfica.


Usa aspell Es un programa, está disponible para unixoids y cygwin, se puede ejecutar sobre muchos tipos de código fuente. Úselo.