Executando verificação de segurança...
1

[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.

Carregando publicação patrocinada...
2

Não vou falar sobre o código do TabNews, até porque eu não o li, mas tenho um conselho para todos.

Cuidado com os códigos que lê.

Todos sabemos, ou deveríamos saber, que a internet está cheia de fake news. Em geral postadas por pessoas de boa fé, que aprenderam errado e querem ajudar. Acontece em todo lugar. Acontece no TabNews, e todo mundo pode postar algo assim. Eu certamente já postei algumas, mesmo tomando muito mais cuidado do que a média. A internet é pior que papel, aceita tudo mesmo. E a IA está aí para ajudar a produzir mais desse tudo.

Se muita gente aprende com lacunas, cada vez mais são postadas fake news (informação falsa). Em alguns casos só um pouco, em alguns casos grave. O que é só um pouquinho errado não é grave por si só, mas em volume vai criando problema. Principalmente porque ele tende a ser maioria rapidamente, e em geral as pessoas não pararão para mostrar um erro pequeno.

Precisamos estar muito atentos a isso, e aprender sermos críticos para não consumir gato por lebre.

E o Github, e outras plataformas do tipo, não são imunes. Existem muitos códigos que serão consumidos que ensinam errado. E como sempre falo, se você treinar o erro, é ele que fará para sempre. E passará a defendê-lo como se fosse a coisa mais certa do mundo. É assim que nasce todo tipo ode terraplanismo.

É óbvio que deve ler muito códigos dos outros sim, é uma das melhores formas de aprender. Mas cuidado com códigos ruins, que não ensinam bem. E você terá dificiuldade de saber quais são porque einda está aprendendo. Tenha isso em mente.

Exceto pelos repositórios mais high profile, com exceções, boa parte dos repositórios possuem códigos que funcionam, até podem estar certas, e até não são ruins, mas nem sempre são escritos da melhor forma possível para alguém usar como referência para aprender. Pode não ser ruim para o seu uso, pode atender os objetivos do projeto dentro do cocntexto que ele foi feito, e não pode ser criticado por isso, só pode, muitas vezes pontualmente, ser criticado como instrumento de aprendizado.

Sabendo disso poderá aproveitar melhor e poderá ler códigos diversos com confiança, inclusive do TabNews, que pode ser um dos que mais ensinam do que criam mitos, mas não tenho como afirmar isso, muito menos negar.

Eu pretendo em algum momento falar de algumas coisas que eram muitos usadas em códigos, proque é muito útil, e atende tudo isso que as pessoas estudam em livros famosos, e que as pessoas quase não usam hoje em códigos, talvez porque elas não estão vendo outros usarem, então começa "todo mundo" fazer algo pior porque "todo mundo" está fazendo algo pior.

Existem coisas que a esmagadora maioria das pessoas acreditam ser verdadeiras, que não possuem comprovação ou até a ciência provao contrário, e você não consegue dissuadir as pessoas porque tem muita gente corroborando o mito.

Então cuidado com suas referências.

Faz sentido para você?

Espero ter ajudado.


Farei algo que muitos pedem para aprender a programar corretamente, gratuitamente. Para saber quando, me segue nas suas plataformas preferidas. Quase não as uso, não terá infindas notificações (links aqui).