1
resposta

Quando devo internalizar uma variável?

Boa tarde pessoal,

na aula foi mostrado a técnica de internalização de variável e ao final da aula o código ficou assim:

privatre palestra lerPalestra(Scanner scanner) {
    ....
    TempoDeDuracao duracao = LIGHTING_STRING.contains(lerTempoDeDuracaoDaPalestra(linha, indiceDaDivisaoEntreNomeETempo)) 
        ? TempoDeDuracao.LIGHTING 
        : new TempoDeDuracao(Integer.valueOf(lerTempoDeDuracaoDaPalestra(linha, indiceDaDivisaoEntreNomeETempo)));
    ...
}

Vcs não acham que da forma acima é mais dificil ler do que adicionando uma variável como na forma abaixo?

privatre palestra lerPalestra(Scanner scanner) {
    ....
    int tempoDeDuracaoDaPalestra =  lerTempoDeDuracaoDaPalestra(linha, indiceDaDivisaoEntreNomeETempo);

    TempoDeDuracao duracao = LIGHTING_STRING.contains(tempoDeDuracaoDaPalestra) 
        ? TempoDeDuracao.LIGHTING 
        : new TempoDeDuracao(Integer.valueOf(tempoDeDuracaoDaPalestra));
    ...
}

Outra questão a se resaltar é se o método tempoDeDuracaoDaPaletra demandasse muito recurso computacional não seria melhor eu chama-lo apenas uma vez?

Vlw galera.

1 resposta

Boa noite.

Eu prefiro criar a variável, porém acredito que isso muda de programador para programador e equipes tbm.

Código é complicado pq são muitas formas de pensar, então não existe muito essa questão de padrão de leitura, porém tem visão de consumo de hardware, banda... essas coisas.

Nesse caso específico do código, acredito que por não existir um loop ou algo do tipo não precise realmente criar a variável, pois o método vai sempre ser chamado só 1 vez quando chamar o lerPalestra.