1
resposta

Exercício - Meus cursos preferidos (com código mais enxuto)

Uma coisa que me incomodou um pouco no vídeo do professor, foi a necessidade de criar variáveis para cada elemento da lista, então eu pensei em como eu poderia deixar o código mais enxuto. O problema, é que eu sinto que o código não ficou muito agradável de se ler. Também entendo que provavelmente não havia necessidade de fazer isso, se levarmos em consideração a quantidade de elementos. Vou deixar meu código abaixo e gostaria da opinião e o feedback de vocês!

package br.com.alura;

import java.util.ArrayList;
import java.util.Arrays;

public class TestandoListas2 {

    public static void main(String[] args) {

        ArrayList<String> cursos = new ArrayList<>
        (Arrays.asList("Java OO: entendendo a orientação a objetos", "Java Polimorfismo", "Lógica de programação: lógica com o jogo Pong e JavaScript"));

        System.out.println(cursos);

    }
}
1 resposta

Fala Gabriel, tudo bem?

Nos cursos, normalmente os instrutores e instrutoras criam novas referências para todas as variáveis como recurso didático, pois facilita a visualização do que está acontecendo no código, ou seja, a legibilidade. Muitas vezes dentro de projetos em produção, grande parte dessas variáveis não vai existir, e objetos serão inicializados de maneira muito parecida com a que você mostrou pra gente aqui.

A verdade é que nesse quesito não existe um certo ou errado, mas é muito importante ter essa preocupação que você mostrou com a legibilidade do código, afinal quem vai ler esse código são pessoas que programam, o computador vai entender ele de qualquer maneira. Sendo assim, manter um código legível é muito importante para manutenções posteriores, porque facilita entender o que o código faz. Inclusive, em alguns lugares pode até fazer sentido sacrificar um pouco da performance pela manutenção, para não aparecer muito "código mágico", que ninguém entende muito bem como funciona, apesar de funcionar muito bem.

Essa é uma discussão que pode ser bem extensa pela sua complexidade, mas em geral é importante se preocupar com o quão fácil é de entender um código. No seu caso demonstrado, é bem comum fazer inicialização de listas desta maneira, e não vejo problemas na legibilidade, a minha única sugestão é a utilização do método List.of() ao invés do Arrays.asList, apenas por uma questão semântica.

Um grande abraço e bons estudos!