Olá, Ramon!
A diferença entre usar 'this.duracaoEmMinutos' e apenas 'duracaoEmMinutos' no contexto de um getter é principalmente uma questão de estilo e clareza de código. Ambas as formas são válidas, mas podem ser mais apropriadas em diferentes situações. Vou explicar as considerações principais:
Uso de this explícito:
Usar this.duracaoEmMinutos torna explícito que você está acessando o atributo da instância atual da classe. Isso é particularmente útil quando há nomes de variáveis locais, parâmetros de método ou outros escopos que possam ter o mesmo nome do atributo da classe. A clareza é o principal benefício aqui, pois fica claro para você e para outros desenvolvedores que a variável duracaoEmMinutos é um atributo da classe, não uma variável local.
Acessar diretamente o atributo:
A forma mais concisa, duracaoEmMinutos, é possível porque a linguagem Java permite que você acesse diretamente os atributos da instância atual da classe sem usar this. No entanto, isso pode se tornar confuso em situações onde há nomes semelhantes em diferentes escopos. Além disso, em algumas situações, pode haver ambiguidade entre o atributo da instância e uma variável local ou parâmetro com o mesmo nome.
Ambas as abordagens são aceitáveis, mas a prática recomendada varia de acordo com as convenções de estilo do código. Algumas equipes preferem sempre usar 'this' para referenciar atributos de instância, para evitar qualquer ambiguidade ou confusão. Outras equipes podem optar por não usar 'this' quando não há ambiguidade, a fim de manter um código mais limpo e conciso.
No caso específico dos getters gerados automaticamente pelo IntelliJ (ou por outras ferramentas), elas geralmente optam pela forma mais concisa por padrão, assumindo que não haverá ambiguidade. Se você preferir usar o this explícito por uma questão de clareza, você pode modificá-lo manualmente após a geração automática.