Cv, desde que comecei a usar o fórum do GUJ, as suas respostas sempre foram algumas das que mais levo em consideração. Por isso, vou aceitar o seu conselho e levar isso de forma construtiva. Aliás, alguns posts atrás neste tópico você vai ver que o Fábio Patrício perguntou se tinha algum Arquiteto ou Gerente do projeto e nós dissemos que não. Vou considerar seu post como um aceite para o cargo extra-oficial de Manager-Escrachator do projeto. Bem vindo.
Quanto às suas colocações, vamos lá…
Quanto aos testes: alguns posts atrás você me sugeriu que usasse Junit ao invés de psvm. Eu, modestamente, tentei seguir seu conselho e fiz uma “classezinha” extendento TestCase. Gostei bastante e vou acertar os outros assim como fazer o que está pendente. Não conheço o Emma, vou dar uma olhada.
Singleton: BrKit. Foi uma sugestão do início do projeto, o Ironlinx já tinha sugerido que isso seria uma grande centralizador sem necessidade. Ela estva lá abandonada, como o velo falou, nem dá pra instanciar. Já apaguei e vou fingir que nada aconteceu.
Com relação a Documentação: Neste ponto não posso tomar decisão sozinho. A questão da documentação foi definida na reunião do projeto e acho que devemos discutir novamente para mudar. Por enquanto estou fazendo como combinamos. Bem antes, eu tinha dito que isso dependeria do rumo que tudo tomasse, da forma como está, acho que o melhor realmente é fazer em português.
CVS: Como já dissemos, o Fernando (scottys0) colocou o código lá como teste. Ele cismou que ia fazer e fez, assim como o canal IRC que ficou muito bacana. Legal, desse tipo de iniciativa é que estamos precisando. Ontem pela manhã eu nunca havia usado um CVS, depois que ele colocou o código lá estou desvendando como funciona o CVS no Eclipse. Vou conversar com ele sobre as mensagens.
Packages vazias ou Código pela metade: Aqui comigo não existe nenhum pacote vazio. Deve ser por causa to teste que falei. Os códigos pela metade são, por exemplo, a Classe de Cpf cujo único método vazio é o de validação. Deixei vazio por que é o “filé” da classe. Alguém que não está participando poderia se interessar e querer implementar (quem quiser, por favor).
Expressões Regulares: outra dica que pretendo aceitar. Conheço expressões regulares de “olhada” e não estava querendo parar o que estava fazendo para estudar. Agora que está rodando, pelo menos, posso me aprofundar.
LGPL: Vou colocar o bloquinho nos arquivos. Qual o link para o texto padrão?
Constructor Duplicados e com Exceções: Para coisas como CEP, CPF, CNPF, UF etc existe sempre uma classe simples que pode-se fazer
Coisa coisa = new CoisaAdapter();
coisa.setCoisa(“Coisinha”);
e outras que são do tipo ValidCoisa. Onde se faz
Coisa coisa = new ValidCoisa(“Coisinha”); // gera ValidatinException
No primeiro tipo existe um constructor simples na segunda o constructor garante que você não instancia um CPF se ele não for válido. Ou seja, isValid() é sempre true.
Isso foi só uma idéia, não sei se terá utilidade mas achei interessante implementar dessa forma. Se é inútil eu não sei, gostaria de opiniões. Os duplicados existem por uma questão de conforto de quem está criando a classe, pode passar como String ou como int.
Interface Endereço e afins: Essas interfaces tem tudo a ver com os dois tipos de classe acima. Coisa coisa = new CoisaAdapter ou Coisa coisa = new ValidCoisa. Mas, realmente, no caso de Endereço, Telefone e talvez p Cep não seja necessário. A do Telefone já retirei.
TipoLogradouro – No início do tópico o Grivon fez uma Classe para Logradouro com um início de normalização. Eu escrevi um código só pra dar a ele uma estrutura já próxima com o que estávamos fazendo. Até criei uma TipoLogradouroNormalizer mas não sei como será a implementação disso. Não queria atropelar o código que ele estava fazendo. Foi só uma idéia. Quanto a lista de valores, sim, posso fazer como enum. Ainda estou usando o Eclipse 3.0.1, mas pretendo começar a usar o 1.5 em breve.
“Represents the DDD of a Telefone”: como já disse acima, talvez devamos rever a questão da documentação. Por isso não dediquei muito tempo ao javadoc. . Aliás ao longo da discussão surgiram algumas dúvidas de como seria o nome da classe Logradouro em inglês etc. Isso inclui o DDD, DDI e a parte do número que sobra. Realmente não conheço as palavras em inglês para melhor definir as partes do telefone. Por isso, inclusive, as classes se chamam DDD, DDI e Base! Gostaria realmente de uma sugestão melhor que isso.
Acho que é isso. Valeu pelas “broncas”. :lol:
Sim, vou estudar Expressões regulares.