Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Meu código faz sentido?

Ao invés de eu colocar a string 'Nome completo' no console.log, coloquei no método, teria algum problema? Também usei o get, faz sentido utilizar ele nesse contexto?

class Pessoa {

    constructor(nome, sobrenome) {

        this.nome = nome;
        this.sobrenome = sobrenome;
    }

    get obtemNomeCompleto(){
        return 'Nome completo: ' + this.nome + ' ' + this.sobrenome;
    }
}

var pessoa = new Pessoa('Flávio', 'Almeida');
    console.log(pessoa.obtemNomeCompleto);
1 resposta
solução!

Fala ai Nathália, tudo bem? Vamos lá:

Ao invés de eu colocar a string 'Nome completo' no console.log, coloquei no método, teria algum problema? Também usei o get, faz sentido utilizar ele nesse contexto?

Eu diria que para seu contexto não tem problema e para sua necessidade faz sentido, isso porque é bem complicado definir algo como certo ou errado.

Mas, eu diria que esse código tem alguns problemas, olha o nome da função:

obtemNomeCompleto

Lendo o nome, ela diz que vai me devolver um nome completo, mas, a string Nome completo: não faz parte de um nome completo, sendo assim, a função não corresponde com o seu nome.

E sua classe Pessoa está conhecendo regras que não fazem parte dela, ou seja, a maneira que o nome completo vai ser usado não deveria ser responsabilidade da classe e sim de quem a usa.

Sendo assim, eu acho que seria legal manter apenas a concatenação do nome para quem à usa e não nela.

Assim você consegue manter ela coesa, com responsabilidades que fazem sentido para ele e consegue reaproveitá-la em mais lugares.

Espero ter ajudado.

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software