Problemas com normatização

1 resposta
K

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();
}
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);
        }

    }
Esse método, além de ser chamado apenas uma vez, auinda chama outro método.
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);
        }
    }
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) {
        }
    }

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.

1 Resposta

pedroroxd

Dexa eu entender…
no método KeyReleased, vc chama o método habilitaBtnAtendenteInserirIn() e o método produtoTabela() que chama o método exibirProdutoTela() ?

Isso não é normatização, e sim pleonasmo de programação…

Criado 27 de março de 2010
Ultima resposta 27 de mar. de 2010
Respostas 1
Participantes 2