Skip to content

mateusmaranhaogit/Teste-Da-Caixa-Branca

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 
 
 

Repository files navigation

DOCUMENTAÇÃO

Não há documentação ou comentários. Isso pode dificultar a compreensão do código por outros desenvolvedores.

// Abre uma conexão com o banco de dados
public class User{ 
    public Connection conectarBD(){ 
        Connection conn = null;

VARIÁVEIS E CONSTANTES

As variáveis e constantes no código possuem uma nomenclatura razoável, mas poderiam ser melhoradas. Por exemplo, a variável nome poderia ser renomeada para nomeUsuario para deixar explícito o seu propósito.

// Original:
public String nome ="";

// Melhorado:
public String nomeUsuario ="";

LEGIBILIDADE E ORGANIZAÇÃO

Algumas melhorias poderiam ser feitas, como:

  • Dividir o código em métodos menores e mais gerenciáveis;
  • Utilizar melhor as indentações e melhorar a formatação.
// Original:
public boolean verificarUsuario(String login, String senha) {

    // [...]

    return result;
}

// Melhorado:
public boolean conectarBD() {

    // [...]

    return conn;
}

public boolean executarQuery(String sql) {

    // [...]

    return result;
}

public boolean verificarUsuario(String login, String senha) {

    Connection conn = conectarBD();
    boolean result = executarQuery("select nome from usuarios where login = ? and senha = ?");
    conn.close();
    return result;
}

NULLPOINTERS

Não há tratamento explícito de nullpointers no código. Isso significa que o código pode gerar NullPointerExceptions se uma variável ou constante for nula.

// Original:
public String nomeUsuario() {
    return nome;
}

// Melhorado:
public String nomeUsuario() {
    if (nome != null) {
        return nome;
    } else {
        return "";
    }
}

ARQUITETURA

A arquitetura utilizada no código é simples e direta. Algumas melhorias poderiam ser feitas:

  • Utilizar uma arquitetura mais orientada a objetos;
  • Utilizar uma camada de persistência para abstrair o acesso ao banco de dados.
// Original:
public class User {

    public String nome ="";
    public boolean result = false;
    public boolean verificarUsuario(String login, String senha) {
        // [...]
        return result;
    }
}

// Melhorado:
public class Usuario {

    private String nome;
    private boolean logado;

    public Usuario(String nome) {
        this.nome = nome;
    }

    public void logar(String login, String senha) {
        // [...]
        this.logado = true;
    }

    public boolean isLogado() {
        return this.logado;
    }
}

public class LoginService {

    public Usuario autenticar(String login, String senha) {
        // [...]
        return usuario;
    }
}

CONEXÕES

O código não fecha as conexões com o banco de dados após o uso. Isso pode causar problemas de desempenho e segurança.

// Original:
public Connection conectarBD() {

    // [...]

    return conn;
}

// Melhorado:
public Connection conectarBD() {

    // [...]

    try {
        return conn;
    } finally {
        conn.close();
    }
}

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages