Pergunta

Com o nosso próximo grande lançamento nós estamos olhando para globalizar nossa aplicação ASP.Net e me pediram para pensar em uma maneira de acompanhar o que o código já foi trabalhado neste esforço.

O meu pensamento era usar um atributo personalizado e colocá-lo em todas as classes que foram "fixos".

O que você acha?

Alguém tem uma idéia melhor?

Foi útil?

Solução

Usando um atributo para determinar quais classes têm sido globalizado, então, necessitam de uma ferramenta para processar o código e determinar quais classes têm e não foram "processados", parece que está ficando um pouco complicado.

Um processo de acompanhamento de projeto mais tradicional provavelmente seria melhor - e não "poluir" o seu código com atributos / outra marcação que não têm significado funcional para além do final do projeto de globalização. Que tal ter um defeito gerado para cada classe que requer trabalho, e segui-lo dessa forma?

Outras dicas

O que sobre apenas contar ou listando as classes e então a classe trabalho de classe? Enquanto um atributo pode ser uma ideia interessante, eu considerá-lo como mais de engenharia. Globalizante não faz nada mais do que, bem, passando por cada classe e globalizar o código:)

Você quer terminar isso de qualquer maneira antes do próximo lançamento. Então vá em frente e apenas fazê-lo um por um, e lá você tem o seu progresso. Eu considero um defeito gerado para cada classe como muito também.

No meu último projeto, comecei a globalização completa um pouco tarde. Eu só fui através da lista de arquivos de código, de cima para baixo. Alfabeticamente no meu caso, e pasta após pasta. Então, eu sempre só tinha que lembrar qual arquivo I trabalhou por último. Isso funcionou muito bem para mim.

Edit: Outra coisa: No meu último projeto, globalizando principalmente envolvidos em movimento cordas codificado para arquivos de recursos, e re-geração de todo o texto quando o idioma muda em tempo de execução. Mas você também tem que pensar em coisas como formatos de número e afins. FxCop da Microsoft me ajudou com isso, já que assinala todas as conversões de número, etc., sem especificar uma cultura como violações. FxCop mantém o controle deste, então quando você resolveu tal violação a e re-ran FxCop, seria denunciar a violação como falta (ou seja resolvido). Isso é especialmente útil para estes mais difícil de ver as coisas.

Como sobre a escrita de um teste de unidade para cada página no aplicativo? O teste de unidade iria carregar a página e executar uma

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

Para a parte de trabalho, carregar diferentes configurações de globalização e ver se a propriedade .Text (ou propriedade relevante para o seu app) é diferente.

A minha suposição seria que nenhuma língua deve sair o mesmo em todos, mas os casos mais simples.

Use o conjunto de testes de unidade que com sucesso completo para acompanhar o seu progresso.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top