Em um projeto pessoal no qual trabalho, desenvolvi um software para uma instituição de ensino. Me deparei com um problema relacionado a nomes próprios e que por coincidência foi logo solucionado com a classe GUtils, desenvolvida pelo amigo Fausto Cintra.

O sistema possui um recurso de sincronização com o sistema interno, que por sua vez foi desenvolvido por outra empresa. O recurso se resume na importação diária da base de alunos para o site, o problema é que a base de alunos dele, que possui aproximadamente 9500+ registros, enquanto alimentada, não recebeu o devido tratamento, e isso resultou em nomes em minúsculo, sobrenomes em maiúsculo e todas as variações possíveis. Além da base de alunos, o problema também ocorreu com os nomes de disciplinas, cursos e grupos.

O problema é que essas informações são utilizadas para criação de menus no site, listagens internas e diversos outros lugares, o que inevitavelmente afeta a qualidade visual quando a página possui uma listagem mais extensa. A solução seria normalizar todos os nomes, e foi aí que a GUtils entrou em ação.

A classe em si é destinada a objetivos variados, a primeira versão foi lançada com um método maneiríssimo de normalização de nomes e foi exatamente este método que me poupou tempo de trabalho. Os comentários são explicativos e bem didáticos.

Este método transforma JOÃO DA SILVA E SOUZA em João da Silva e Souza. A utilização do método não tem segredo algum, veja o exemplo:

include ( “GUtils.php” );

$NomeAluno = GUtils::normalizarNome( ‘JOÃO DA SILVA E SOUZA’ );

echo $NomeAluno; //João da Silva e Souza.

Pronto! Para um nome parece ser uma tarefa simples, mas quando a massa de dados envolve muitos registros, 9500+ no meu caso, a diferença final é notável. Eu fiquei um pouco receoso por normalizar 9500+ nomes em um processo que por si só já é demorado, mas a diferença é mínima e o resultado final é ótimo. Claro se quiser normalizar os nomes em outro processo também é possível e bastante válido.

Espero que tenham gostado.

Sigam o @g0nc1n no twitter e acompanhe os próximos commits com atualizações da classe.

JOÃO DA SILVA E SOUZA
Anúncios