[Resolvido]Isso é uma ma pratica de programação?

11 respostas
S

Ola a todos, tenho uma duvida em relação as boas/mas praticas de programação:

O usuario coloca o usuario e a senha. Eu tenho uma classe chamada Login, que eu só uso uma unica vez. Na Servlet eu coloco assim:

new Login().loga(request.getParameter("usuario"), request.getParameter("senha");

Aqui eu nem coloco o objeto numa variavel de referencia e passo o metodo getParameter() (da classe HttpServletRequest) que retorna uma String.

Vocês acham correto eu simplesmente chamar o metodo daquela forma como eu fiz acima?

Vocês acham correto eu passar um metodo que retorna uma String como parametro ao inves de criar uma String e passar essa String como parametro?

Obs: Essa duvida não é sobre funcionalidade mas sim sobre se o codigo fica “ruim” dessa forma.

Obs2: Eu nao usei static porque até aonde eu sei Threads e static são duas coisas que não se deve usar ao mesmo tempo.

11 Respostas

felipeaqueiroz

Não sei dizer se isso é visto como má prática de programação, mas eu prefiro criar as variáveis até para deixar o código mais legível…

nel

Não vejo como uma pratica ruim de desenvolvimento. Afinal, tu vai usar duas variáveis que simplesmente serão passadas via parâmetro e mais nada?
Não tem necessidade. Pode deixar como está, tranquilamente.

fantomas

Na minha opinião isto depende da situação.

Em alguns casos onde o código exige controle de exceções se vc não utilizar uma variável poderá ocorrer de vc ter que acionar um método mais de uma vez se quiser adicionar o conteúdo na mensagem de erro, no exemplo citado poderia ser o request.getParameter(“usuario”); a vantagem da variável neste caso é a performance (deslocamento do ponteiro de execução de código), a diferença pode ser minuscula mas ela existe e se for executada milhares de vezes pode ficar saliente.

Outra situação é no momento de utilizar o debug, avaliar um conteúdo através de uma variável é mais simples do que uma execução de método.

A clareza do código já foi citada e eu concordo com isto.

Logo eu tento utilizar o bom senso para tentar fazer o melhor possível.

No exemplo citado seria melhor analisar o método completo para perceber em que situação a linha de código é inserida.

flws

M

má prática acho que não é nunca, mas vc estaria tendo trabalho a toa se fosse reutilizar esse request.getParameter(“usuario”);

marcoslogan

Eu também não sei. Mas eu prefiro passar variáveis.

Ex:

public Funcionario logar(String login, String senha);

    //e chamaria assim.

    new Conectar().logar(funcionario.getLogin(), funcionario.getSenha());//Eu usaria o objeto Funcionario pegando os get do login e da senha. Ao invés da outra proposta.
S

Obrigado pelas respostas.

Mais uma pergunta (esqueci de colocar no primeiro post):

Eu tenho várias classes que eu apenas utilizo para coloca-las em ArrayList. A maioria delas tem apenas 2 atributos. Vocês acham certo eu criar uma classe para cada coisa ou criar uma classe generica?

S

Alguem sabe responder a minha ultima pergunta?

ViniGodoy

Sem_Nome:
Obrigado pelas respostas.

Mais uma pergunta (esqueci de colocar no primeiro post):

Eu tenho várias classes que eu apenas utilizo para coloca-las em ArrayList. A maioria delas tem apenas 2 atributos. Vocês acham certo eu criar uma classe para cada coisa ou criar uma classe generica?

Que tipo de classes?

S

ViniGodoy:
Sem_Nome:
Obrigado pelas respostas.

Mais uma pergunta (esqueci de colocar no primeiro post):

Eu tenho várias classes que eu apenas utilizo para coloca-las em ArrayList. A maioria delas tem apenas 2 atributos. Vocês acham certo eu criar uma classe para cada coisa ou criar uma classe generica?

Que tipo de classes?

Por exemplo, eu tenho uma classe chamada “Cargo”. Eu a uso para preencher listas, ela tem 2 atributos: a Id e a Descrição. Os valores dos vêm do banco de dados. Eu tenho uma outra classe chamada “Tratamento”. Ela também tem 2 atributos chamados Id e Descrição.

Eu utilizo essas 2 classes (e muitas outras bem semelhantes) para gerar os combo box nas minhas paginas .jsp.

Você acha errado eu trabalhar dessa forma?

ViniGodoy

Não. A tendência é que essas classes cresçam, e diferenciem-se.

Mesmo que não cresçam, é bom garantir que um método que deveria receber um Cargo não receba por acidente um Tratamento.

S

ViniGodoy:
Não. A tendência é que essas classes cresçam, e diferenciem-se.

Mesmo que não cresçam, é bom garantir que um método que deveria receber um Cargo não receba por acidente um Tratamento.

Certo, obrigado a todos pelas respostas.

Criado 28 de março de 2012
Ultima resposta 30 de mar. de 2012
Respostas 11
Participantes 7