Criação de métodos

13 respostas
andretads

Olá galera do forum…

sou iniciante em Java e gostaria de saber se é uma boa prática de programação

a criação de métodos que chamem outros métodos.

por exemplo

public void metodo1(String parametro) {

metodo2(String parametro)

}
public void metodo2(String parametro) {

//implementação

}

Surgiu essa dúvida pois um desenvolvedor aqui da empresa utiliza essa prática e como não tenho muita experiência,
fico meio travado para questionar tal prática.
Axo estranho ficar fazendo isso, só quero saber mesmo se é uma boa prática

13 Respostas

B

Uma explicação para isso pode ser que o desenvolvedor queira manter a assinatura do método, e internamente usar uma linguagem mais próxima a realidade dele.

Mas chamar por chamar é uma prática no mínimo estranha.

T

depende se isso for uma delegação não há problema, muito pelo contrário, às vezes para evitar herança DEVE ser usado.

andretads

Delegação, não entendi. Vc pode explicar melhor esse conceito

S

Significa que ao invés do método executar a rotina, ele chamará outro para fazer isso.
Mostre o que está fazendo para vermos se é boa prática ou não. Delegação por si só não é necessariamente bom nem ruim.

andretads

vou fazer algo bem generico aqui…

public void metodo1() {metodo2();}

public void metodo2() {metodo3();}

public void metodo3() {medoto4();}

public void metodo4() {//implementação}

tah fazend exatamente isso aqui…
ficamos até um pouco perdido… minha dúvida é só se isso é uma boa prática
se não pode dar problema ou algo do tipo…
já demos uma lida aqui no conceito de delegação e entendemos ele…
mas dar pra dizer que isso é delegação…
isso está sendo feito somente em uma classe…

B

Não, não é boa prática.

Aliás a pessoa que fez isso deveria passar por algum exame psicotécnico.

Se ela responder “Ah, isso é para uso futuro”, pergunte para ela também quais são as dezenas desta semana p/ a Megasena.

Hanzi_West

se o metodo(1) não faz nada além de chamar outro método(2), copia o conteúdo de (2) e cola em (1), ai vc elimina um método!!!

B

Você não pode eliminar cegamente um método marcado como public, protected ou package protected. Alguém pode estar usando ele.

Hanzi_West

nossa, isso que eu disse é supondo que não há nenhum dos casos descritos pelo amigo acima

Corrigindo o que disse, se for usar o metodo sem nenhum caso especial ( se vc só quiser fazer redirecionamentos )
aí sim diga o que falei,

mas, andretads, para resolver essa questão vc precisa dizer mais sobr eo objetivo de seus metodos

B

Estou indo pela lei de murphy. :smiley:

Declarar um método como public é um das últimas coisas que uma pessoa deve fazer ao codificar um método. Depois de publicado, hasta la vista.

LPJava

deve tomar cuidado, para nao gerar a recursividade!!

Dieval_Guizelini

andretads,

se buscarmos na literatura, referências aos exemplos citados, teremos apenas os conceitos de coesão e acoplamento.

Estes conceitos estão diretamente associados as boas práticas da OO, mas não existe um fator decisivo para se calcular o quanto… ou seja para julgar o que é bom e o que é ruim.

Acoplamento é quanto um recurso (classe, objeto, método…) depende e conhece do outro. Elementos muito acoplados geralmente são muito dependentes, mudou um e você com certeza vai ter que mudar o outro.

Coesão é o quanto as tarefas que um elemento realiza estão relacionadas com um mesmo conceito.

Logo, deve-se procurar a coesão e diminuir o acoplamento.

Com relação ao código, quando se encontra em uma aplicação, algo como você descreveu, ou seja, um metodo A que contém apenas uma referência a um segundo método e que os dois métodos possui os mesmos parâmetros, com os mesmos tipos de dados e mesma visibilidade do método, comece a suspeitar.

Na prática, apenas recorremos a métodos wrappers quando não existe outra solução, ou seja, em situação que você escreve um código que será utilizado por dois sistemas ou componentes diferentes e que você não pode mudar o código que necessite desses métodos. Infelizmente, código e aplicação legadas existem e as vezes exigem esse tipo de coisas…

Existem alguns programas que podem ajudar a fazer a análise do código, entre eles:

http://pmd.sourceforge.net/
http://metrics.sourceforge.net/
http://emma.sourceforge.net/

Mais para estilos e possíveis bugs
http://checkstyle.sourceforge.net/
http://findbugs.sourceforge.net/

fw

andretads

blz galera do grupo me aprofundei mais sobre o assunto e minha dúvida foi tirada…
realmente não é lah uma boa prática de programação…
com sou novo no desenvolvimento de sistemas, pensei que isso era uma prática eficaz de desenvolvimento,
mas pelo que percebi não passa de uma espécie de gosto do desenvolvedor. Ele tem seus motivos para desenvolver assim.
soh tenho a agradecer com quem ajudou nessa dúvida

obrigado a todos.

Criado 2 de junho de 2008
Ultima resposta 3 de jun. de 2008
Respostas 13
Participantes 7