Comando Return
Tenho uma dúvida, o comando return no método, serve para retornar um valor e finalizar o método. Porém é correto usar ele no meio do método e ignorar o restante do código ?, exemplo abaixo para entendimento.
minha dúvida, é evitar redundância no código no qual identifiquei como "códigogigante", e não quero criar um outro método para jogar esse código, para evitar futuras mudanças, pois o código que esta dentro desse metodoteste se relaciona muito no contexto do códigogigante.
Minha dúvida sobre o return, no sistema o java aceita, porém é elegante ou não fere as regras do java, ou seria certo, usar o return para ignorar o restante do código, para evitar redundância no caso da etapaanterior ser igual a null, conforme exemplo abaixo.
achei um link no devemedia que fala que seria certo usar, porém talvez causaria erro, mas o erro não acontece.
"Quando encontra um comando return, Java finaliza imediatamente a execução do método e transfere o fluxo de execução ao módulo chamador substituindo o trecho do comando que o invocou pelo resultado retornado.
Qualquer código implementado depois de uma instrução return no corpo de um método não consegue ser alcançado pelo fluxo de execução tornando-se inacessível. Situações como esta não são comuns e devem ser evitadas porque provocam erros em tempo de compilação do tipo “unreachable statement”.
Leia mais em: Métodos: módulos de programa em Java – Parte 2 - Revista Easy Java Magazine 26 https://www.devmedia.com.br/metodos-modulos-de-programa-em-java-parte-2-revista-easy-java-magazine-26/27068#ixzz3ac14gjR2"
//Metodo não permite salvar quando a etapa anterior possui quantidade de inscrito igual a 0
Public String metodoteste(){
Etapa etapaanterior = outrometodo(etapa.codp.getid(),etapa.getNivel()-1);
//Usando etapa diferente do null, para evitar erro quando pesquisa um valor para comparação ..getQtdinscrito()==0
if(etapaanterior!=null){
if(etapaanterior.getQtdInscrito()==0){
FacesUtils.mensErro("Impossivel salvar !!);
return null; //continuar na mesma pagina e informar o erro acima
} else{
codigo gigante....
return "Sucesso";
{
} else{
codigo gigante igual o de cima
return "Sucesso";
}
}
minha dúvida, é evitar redundância no código no qual identifiquei como "códigogigante", e não quero criar um outro método para jogar esse código, para evitar futuras mudanças, pois o código que esta dentro desse metodoteste se relaciona muito no contexto do códigogigante.
Minha dúvida sobre o return, no sistema o java aceita, porém é elegante ou não fere as regras do java, ou seria certo, usar o return para ignorar o restante do código, para evitar redundância no caso da etapaanterior ser igual a null, conforme exemplo abaixo.
Public String metodoteste(){
Etapa etapaanterior = outrometodo(etapa.codpoi.getid(),etapa.getNivel()-1);
if(etapaanterior!=null){
if(etapaanterior.getQtdInscrito()==0){
FacesUtils.mensErro("Impossivel salvar !!);
return null; //continuar na mesma pagina e informar o erro acima
aqui o sistema iria encerrar o método, e não executaria o código gigante, pq eu usei um return.
}
}
...código gigante....
return "Sucesso";
}
achei um link no devemedia que fala que seria certo usar, porém talvez causaria erro, mas o erro não acontece.
"Quando encontra um comando return, Java finaliza imediatamente a execução do método e transfere o fluxo de execução ao módulo chamador substituindo o trecho do comando que o invocou pelo resultado retornado.
Qualquer código implementado depois de uma instrução return no corpo de um método não consegue ser alcançado pelo fluxo de execução tornando-se inacessível. Situações como esta não são comuns e devem ser evitadas porque provocam erros em tempo de compilação do tipo “unreachable statement”.
Leia mais em: Métodos: módulos de programa em Java – Parte 2 - Revista Easy Java Magazine 26 https://www.devmedia.com.br/metodos-modulos-de-programa-em-java-parte-2-revista-easy-java-magazine-26/27068#ixzz3ac14gjR2"
Roger Mendes
Curtidas 0
Respostas
Janaina Mendes
19/05/2015
Não vejo problemas em está no meio do código. Veja alguns exemplos: [url]http://www.javaprogressivo.net/2012/09/o-comando-return-obtendo-informacoes.html[/url]
GOSTEI 0
Ronaldo Lanhellas
19/05/2015
O return é muito utilizado e não tem nenhum problema em usá-lo no meio do código. Você pode usar até sem valor de retorno nenhum, apenas para sair do fluxo de execução principal. sua questão não é o return em si mas a organização do seu código. Use o princípio "dividir para conquistar": Ele rege que você deve dividir o problema em problemas menores então a solução final é a soma dos problemas menores, em outras palavras, se seu método está muito grande comece a criar sub-métodos para deixar seu projeto mais legível e organizado.
GOSTEI 0
Ronaldo Lanhellas
19/05/2015
O return é muito utilizado e não tem nenhum problema em usá-lo no meio do código. Você pode usar até sem valor de retorno nenhum, apenas para sair do fluxo de execução principal. sua questão não é o return em si mas a organização do seu código. Use o princípio "dividir para conquistar": Ele rege que você deve dividir o problema em problemas menores então a solução final é a soma dos problemas menores, em outras palavras, se seu método está muito grande comece a criar sub-métodos para deixar seu projeto mais legível e organizado.
GOSTEI 0