[DICA] Analisando o código do TabNews 🕵️
Se você pesquisar no Google Images, ou pedir para uma IA gerar uma imagem de "uma pessoa programando" provavelmente será uma imagem onde essa pessoa está pressionando teclas, e visualizando o resultado na tela. Mas como já diria Robert Martin (Uncle Bob) no seu livro Código Limpo, boa parte da rotina de um programador será ler códigos ao invés de escrever.
Até um tempo atrás, os únicos códigos que eu tinha visto na vida eram códigos de cursos. O fato de eu nunca ter feito um estágio e nem trabalhado na área (ainda) limitavam a minha visão sobre o código e a arquitetura de um projeto na vida real. Isto não deveria ser uma preocupação se você está dando seus primeiros passos, mas depois de um tempo você começa a sentir uma limitação, de que seus projetos em termos de códigos são parecidos, não importando seus tamanhos ou objetivos.
Eu acreditava que separando algumas responsabilidades em funções ou criando novos arquivos já era o suficiente para criar um código desacoplado, com abstrações fáceis de entender, mas eu estava enganado. Após assistir a playlist no canal do Filipe: Criando um jogo multiplayer, percebi que abstração e separação de responsabilidades é um tema bem mais profundo do que simplesmente criar funções/arquivos. Essa playlist vai te dar uma nova visão sobre programação, mas é só o inicío.
Um próximo passo que você pode dar é analisar o código do TabNews.
Ah, mas eles utilizam Javascript, React, Next, e eu não gosto/não utilizo essas coisas.
Não importa qual linguagem/framework você utiliza, já que o foco aqui não é analisar sintaxe, ou como cada ferramenta lida com as coisas. O foco é na arquitetura do projeto, na forma que ele foi construído. Além disso, se você se considera um programador, deveria conseguir entender ou pelo menos seguir o raciocínio de um código escrito em outra linguagem. (a não ser que você seja um Programador Chaves).
Resumindo, tente entender o que são estes módulos que eles criaram. Como eles lidaram com os erros que podem acontecer. De que forma eles separaram a visualização dos dados. Não vai ser fácil, se assim como eu, for sua primeira vez vendo um código que não seja de curso. Mas eu garanto que irá mudar completamente sua visão. Em seguida, ao começar um novo projeto, tente analisa-lo primeiro, entender e separar cada responsabilidade, fazer uma abstração mental (e também no "papel") do código, antes de sair codando.
Repositório: TabNews
Por favor, listem nos comentários repositórios que vocês já viram e que podem ajudar as pessoas a terem uma nova visão.