1- Utilize as convenções de código do Java. As classes deveriam começar com maiúsculas (Swing em vez de swing) e deve-se usar Camel Case (addLinhaTabela em vez de addlinhatabela).
2- Programe para interfaces. Existem métodos que recebem ArrayList, quando o ideal seria receber List ou Collection (depede do uso). Depender seu framework de ArrayList não é uma boa ideia (percebi isso pelo JavaDoc e pelo tutorial). Se você obriga o uso de ArrayList fará com que o desenvolvedor passe a cometer erros de design somente pra usar seu framework. (Por exemplo: eu só uso List, precisarei trocar os tipos para ArrayList somente pra usar seu framework.)
3- Documente! Fica complicado saber o que o seu framework faz se não tem o Javadoc das classes.
4- Utilize um SCM pra versionar o código. Sugiro que o coloque no GitHub, assim fica mais fácil das pessoas te ajudarem com ele.
5- Não quero ser chato, mas esta descrição me pareceu um anúncio de produto da Polishop:
[quote]Você faz todos os dias sempre as mesmas coisas ?
Está precisando de algo que realmente vai resolver teu problema ?
Prazo ?
Sai dessa vida, use o pekerjaan.[/quote]
6- Melhore o tutorial. Como o JavaDoc não ajuda muito, o tutorial deveria mostrar bem o uso do framework em vez de um “Hello World” simples.
7- Use sobrecarga de métodos em vez de fazAlgo, fazAlgo2 e fazAlgo3.
[quote]static void setSQLtabela(javax.swing.JTable table, java.lang.String sql)
Atribui uma tabela um select
static void setSQLtabela2(javax.swing.JTable table, java.lang.String sql, java.util.ArrayList lista)
Mesma coisa que o setSQLtabela porem usa como titulo o arraylist
static void setSQLtabela3(javax.swing.JTable table, java.sql.ResultSet r, java.util.ArrayList lista)
Mesma coisa que o setSQLtabela2 porém usa um resultset ao invez de um texto com sql[/quote]
8- Dê preferência ao uso de enums em vez de int (na classe data, por exemplo).
9- Tudo nele é “public static”.
10- A classe tarefa executa uma ação no próprio construtor. Como tudo é “public static” isso me cheirou a uma refatoração mal sucedida.
Me desculpe a sinceridade, mas se você der uma olhada com atenção nesses pontos pode acabar com um framework mais maduro no final. Caso contrário irá acabar com o framework.
[quote=FNA]Ataxexe muitos valiosas suas dicas vou implementar todos.
São pessoas assim que meu projeto precisa.
[/quote]
Que isso, amigo! Obrigado a você por tomar as críticas como construtivas.
Eu mantenho um framework há mais ou menos 4 anos e ele partiu exatamente como o seu. Era um monte de rotinas com métodos estáticos que eu usava nos projetos e o pessoal gostava. O problema era que eu acabei evoluindo ele demais e não tinha uma suíte de testes e nem JavaDoc. Então resolvi dar uma mudada nele.
A primeira coisa que eu fiz foi usar mais OO nele: peguei os conceitos e modelei as classes pra ficar bem mais elegante. Depois fiz os testes.
Passado um tempo, eu comecei a curtir demais as interfaces fluentes (DSL) e acabei refatorando o framework pra usar somente elas. O resultado ficou muito legal.
A maior dica que eu te dou é: faça as coisas funcionarem e refatore sempre que possível. Com o tempo você vai ter não só criado um belo framework como melhorado muito a sua capacidade técnica.
Fiz a atualização do projeto.
Boas:
>Corrigi o erro de leitura de arquivo.
>Alterei o nomes dos métodos e classes.
Más
>Funciona somente com jdk 7 devido a algumas instruções.
>Falta de testes na classe Ireport.