Pregunta

Con nuestro próximo lanzamiento importante, buscamos globalizar nuestra aplicación ASP.Net y me pidieron que piense en una forma de realizar un seguimiento de qué código ya se ha trabajado en este esfuerzo.

Pensé en usar un Atributo personalizado y colocarlo en todas las clases que se han "arreglado".

¿Qué te parece?

¿Alguien tiene una idea mejor?

¿Fue útil?

Solución

El uso de un atributo para determinar qué clases se han globalizado requeriría una herramienta para procesar el código y determinar qué clases se han procesado y no procesadas, parece que se está volviendo un poco complicado.

Un proceso de seguimiento de proyectos más tradicional probablemente sería mejor, y no "contaminaría" su código con atributos / otras marcas que no tienen un significado funcional más allá del final del proyecto de globalización. ¿Qué le parece tener un defecto planteado para cada clase que requiere trabajo y rastrearlo de esa manera?

Otros consejos

¿Qué pasa con solo contar o enumerar las clases y luego trabajar clase por clase? Si bien un atributo puede ser una idea interesante, lo consideraría como una ingeniería excesiva. La globalización no hace más que, bueno, revisar cada clase y globalizar el código :)

Desea terminar eso de todos modos antes de la próxima versión. Así que adelante, hágalo uno por uno, y allí tendrá su progreso. Consideraría que un defecto planteado para cada clase también es demasiado.

En mi último proyecto, comencé la globalización completa un poco tarde. Acabo de revisar la lista de archivos de código, de arriba a abajo. Alfabéticamente en mi caso, y carpeta tras carpeta. Así que siempre tuve que recordar en qué archivo trabajé por última vez. Eso funcionó bastante bien para mí.

Editar: Otra cosa: en mi último proyecto, la globalización implicaba principalmente mover cadenas codificadas a archivos de recursos y volver a generar todo el texto cuando el idioma cambia en tiempo de ejecución. Pero también tendrá que pensar en cosas como formatos de números y similares. FxCop de Microsoft me ayudó con eso, ya que marca todas las conversiones de números, etc., sin especificar una cultura como violaciones. FxCop realiza un seguimiento de esto, por lo que cuando resolvió dicha violación y volvió a ejecutar FxCop, informaría que la violación falta (es decir, resuelta). Eso es especialmente útil para estas cosas más difíciles de ver.

¿Qué tal escribir una prueba unitaria para cada página de la aplicación? La prueba unitaria cargaría la página y realizaría un

foreach (System.Web.UI.Control c in Page.Controls)
{
    //Do work here
}

Para la parte de trabajo, cargue diferentes configuraciones de globalización y vea si la propiedad .Text (o la propiedad relevante para su aplicación) es diferente.

Supongo que ningún idioma debería salir igual en todos los casos, excepto en los más simples.

Utilice el conjunto de pruebas unitarias que se completan con éxito para realizar un seguimiento de su progreso.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top