Bom, o meu problema não é bem no java, e sim com um amigo meu…
Seguinte, estamos desenvolvendo um projeto, o nosso trabalho de conclusão de curso (curso técnico de informática). Acontece que esse meu amigo, por acaso o gerente do nosso problema, vem com a idéia de ao invés de criarmos toda a programação de um botão, ele inventa de criar um método para cada, e quando clicamos no botão ele simplesmente chama esse evento. Sempre que contestamos, ele vem e nos diz que é “normatizado”, mas é algo que acho realmente muito estranho.
E, pra piorar, ele inventa ainda de criar métodos que chamam outros métodos (e métodos que são utilizados apenas uma vez no programa inteiro), o que faz tornar tudo muito mais confuso.
Vou deixar um exemplo aqui, mas é algo que se repete em todo o código do formulário.
Este chama dois métodos.
private void txtAtendenteCodigoProdutoInKeyReleased(java.awt.event.KeyEvent evt) {
habilitaBtnAtendenteInserirIn();
produtoTabela();
}
[code] private void habilitaBtnAtendenteInserirIn() {
if (!txtAtendenteCodigoProdutoIn.getText().equals("") & !txtAtendenteCodigoComandaIn.getText().equals("") & !txtAtendenteQuantidadeIn.getText().equals("")) {
Conexao con = new Conexao();
String sql = "Select * from produto where cod_produto = " + txtAtendenteCodigoProdutoIn.getText() + "";
int ret = con.fazerConexao();
if (ret == 0) {
JOptionPane.showMessageDialog(null, "Não foi possível fazer conexao.(Confirmação de Código)");
} else {
try {
ResultSet rs = con.consultar(sql);
if (!(rs.next())) {
btnAtendenteInserirIn.setEnabled(false);
} else {
btnAtendenteInserirIn.setEnabled(true);
sql = "Select * from comanda where cod_comanda = " + txtAtendenteCodigoComandaIn.getText() + "";
rs = con.consultar(sql);
if (!(rs.next())) {
btnAtendenteInserirIn.setEnabled(false);
} else {
btnAtendenteInserirIn.setEnabled(true);
}
}
} catch (SQLException ex) {
Logger.getLogger(ManipularPedidos.class.getName()).log(Level.SEVERE, null, ex);
}
}
} else {
btnAtendenteInserirIn.setEnabled(false);
}
}[/code]
Esse método, além de ser chamado apenas uma vez, auinda chama outro método.
[code] private void produtoTabela() {
String sql = null;
String t = txtAtendenteCodigoProdutoIn.getText();
if(t.equals(""))
t = 0 + "";
sql = "select cod_produto, tip_preco, pre_venda, des_produto, cod_categoria from produto where cod_produto = " + t;
Conexao conectar = new Conexao();
int ret = conectar.fazerConexao();
if (ret == 0) {
JOptionPane.showMessageDialog(null, "Não foi possível fazer conexão!");
} else {
ResultSet rs = conectar.consultar(sql);
exibirProdutoTela(rs);
}
}[/code]
[code] public void exibirProdutoTela(ResultSet rs) {
try {
ResultSetMetaData rsmd = null;
Vector cabecalho = new Vector();
Vector linhas = new Vector();
rsmd = rs.getMetaData();
cabecalho.addElement("CÓDIGO");
cabecalho.addElement("TIPO DO PREÇO");
cabecalho.addElement("PREÇO DE VENDA");
cabecalho.addElement("DESCRIÇÃO DO PRODUTO");
cabecalho.addElement("CATEGORIA");
if (rs.next()) {
do {
Vector linha = new Vector();
for (int x = 1; x <= rsmd.getColumnCount(); x++) {
if (!(x == 2)) {
linha.addElement(rs.getString(x));
} else {
if (Integer.parseInt(rs.getString(2)) == 0) {
linha.addElement("UNIDADE");
} else {
linha.addElement("PESO");
}
}
}
linhas.addElement(linha);
} while (rs.next());
}
modelo = (DefaultTableModel) tlbProdutos.getModel();
modelo.setDataVector(linhas, cabecalho);
} catch (SQLException ex) {
}
}[/code]
Minha pergunta é:
É necessário tudo isso?
Quer dizer, métodos que chamam outros métodos e que são chamados apenas uma única vez por um único botão.
Isso está “normatizado”? O que seria, afinal, “normatização”? Existe algum tópico que explique sobre isso?
Pergunto isso a vocês, porque quero ter a opinião do maior número possível de profissionais de java, aqui nesse fórum; para mim poder conversar melhor com esse meu amigo.
Grato.