Na minha empresa anterior tinhamos um padrão de código a ser seguido, o que facilitava muito a leitura, e era impossível apenas lendo o código, identificar o desenvolvedor que escreveu aquele trecho o que tornava tudo mais fácil de compreender. Nessa empresa tive que fazer o refactor de uma procedure de 50.000 linhas (sim cinquenta mil), o trabalho foi tanto pra refazer esse projeto que me rendeu o MVP quando foi pra produção. Coitado de quem dava manutenção nesse código antes de mim.
O que mais existe por aí é código SOFRÍVEL de ler, quem dirá dar manutenção...mas de vez em quando a gente se depara com código "arte", limpo, bem escrito, funcional e eficiente. O que frusta é quando você consegue codar uma feature de maneira sublime...pro cliente mudar de idéia e você ver seu filho se tornar um Frankenstein 😅
A limitação do comprimento da linha não é apenas para evitar rolagem lateral, isso é um conceito de diagramação de texto, pois, linhas muito compridas atrapalham a leitura, pois quando a leitura chegar no fim da linha, aumenta a margem de erro de ao voltar a visão pra começar a ler a próxima linha, você acabar lendo a linha errada.
18:36 existem extensões que ajudam a auto-formatar o código. Para Python tem a extensão "Python" da própria Microsoft, mas tem que instalar um módulo formatador, eu uso black, "pip install black", e depois vai nas configurações da extensão e seleciona o black como formatador. Eu configurei para toda vez que eu salvar o arquivo ele formata todos os espaços e linhas pra mim. Dá pra configurar pra formatar enquanto digita, mas eu não gosto. Dá pra escolher um linter tb, o linter só vai indicar os erros, mas não corrigí-los, eu uso flake8, "pip install flake8". Para C/C++ a extensão da Microsoft tem linter e formatter embutido. Não conheço Typescript, mas com certeza deve ser fácil achar linter e formatter.
Existem vários "nomes" para os estilos. K&R, por exemplo. Talvez achar um conhecido que goste e se for o caso fazer uma variante dele. "Linux Kernel" é uma variante do K&R e poderia chamar de K&R_LK deixando claro só o que mudou. Eu não consegui fazer isso. Gosto de muitos espaços e muitas linhas. 😉
Não sei se vcs respondem comentários, mas vamos lá. No caso de um dos códigos que mostraram, as funções abaixo do main onde são chamadas, quando devo chamar na mesma página e quando devo chamar em outro arquivo usando import?
Ixi kakakka preciso refatorar tudo😅 meus bot um dia peguei pra arrumar uma função e quando abriu pensei... "Que diab0s eu vim fazer aqui mds?!" De tão confuso que fiquei
Reclamam do código do Linux mas nunca viram o de backend de onde trabalho. Facilmente chegam a 15mil linhas de código em python pq o tratamento de TODOS os endpoints são feitos em um único arquivo
Não sei o quanto entra nesse assunto... mas nem tudo é Java, especialmente o javascript. Não é preciso declarar tudo o que vai usar, ficar usando "let" e ficar fazendo reatribuições... Dai o código, mesmo com 50 linhas ou menos, você precisa ficar pulando de cima pra baixo pra entender o que ta acontecendo. Enquanto isso, só por declarar só quando for usar, o coisa pode ter suas 200 linhas, mas você le igual o "jornal" de cabo a rabo sem precisar voltar. E pros frontenders... html, css... é verboso. Componentizar é bom, mas se o arquivo tem 500 linhas, onde 400 é markup e das outras 100, metade é importações, whitespace e quebras de linhas... ta de boa. Agora se fosse o contrario... dai não né.
Se preocupar com formatação de programa seria um arquiteto modificando a engenharia de uma construção. Um engenheiro vai la e faz uma ponte segura, feia, sem cor mas funcional, passa uma frota de tanque de guerra. Ai vem o arquiteto pra colocar um canteiro central, pintar as faixas e por sinalização kkkkkk
3:48 Do lado esquerdo onde tem "Explorador", lá embaixo tem "Estrutura do Código" onde mostra as funções, classes, structs, etc. Dependendo da linguagem que estiver utilizando é preciso instalar alguma extensão, por exemplo, para arquivos "Makefile" precisa da extensão "Makefile Outliner". Aliás, para quem usa VSCode em inglês "Estrutura do Código" em inglês é "Outline". Se não estiver aparecendo, pode ir em "Menu -> View -> Open view..." e selecionar "Outline" para abrir essa view, ou na barra de commandos digite "view " (com espaço) e selecione "Outline". Eu particularmente deixo aberto o tempo todo no painel secundário do lado direito "Menu -> View -> Appearance -> Secondary Side Bar", segura e arrasta o "Outline" pro painel secundário e voilà.
Olá. Não achei o seu código antigo com falha de organização. Acho que deixando legível, está ótimo, apenas seguindo as regras principais. Qqer um que vir o código daquela maneira vai perceber que o mesmo fora organizado. Não acho que seja necessário seguir um excesso de regras de forma absoluta, mas é só a minha opinião. Obrigado pelo vídeo!
Eu uso as funções no python acima das chamadas. Todas estão no começo do código. Será que isso é ruim? Com certeza aprendi assim em algum canal do youtube.. vlw!
Ainda sou iniciante no aprendizado de programação, mas seus vídeos são cativantes até mesmo para um inciante como eu 😁
Oi Rodrigo bom saber que nossos vídeos te ajudam de alguma forma! Siga firme nos estudos e sucesso.
Força! É um caminho árduo, mas precisamos nos apoiar pra chegar lá
Esse video dá paz no espirito
Excelente vídeo! Nesta semana tive minha primeira entrevista técnica e muitos dos conceitos que conversei aprendi vendo os vídeos de vocês.
eu tento deixar meu codigo mais organizado o possivel, e vocês me apresentaram algumas coisas que eu ainda não sabia. obrigado.
Na minha empresa anterior tinhamos um padrão de código a ser seguido, o que facilitava muito a leitura, e era impossível apenas lendo o código, identificar o desenvolvedor que escreveu aquele trecho o que tornava tudo mais fácil de compreender.
Nessa empresa tive que fazer o refactor de uma procedure de 50.000 linhas (sim cinquenta mil), o trabalho foi tanto pra refazer esse projeto que me rendeu o MVP quando foi pra produção. Coitado de quem dava manutenção nesse código antes de mim.
O que mais existe por aí é código SOFRÍVEL de ler, quem dirá dar manutenção...mas de vez em quando a gente se depara com código "arte", limpo, bem escrito, funcional e eficiente. O que frusta é quando você consegue codar uma feature de maneira sublime...pro cliente mudar de idéia e você ver seu filho se tornar um Frankenstein 😅
Eu uso o prettier no VS e tudo certo!
A limitação do comprimento da linha não é apenas para evitar rolagem lateral, isso é um conceito de diagramação de texto, pois, linhas muito compridas atrapalham a leitura, pois quando a leitura chegar no fim da linha, aumenta a margem de erro de ao voltar a visão pra começar a ler a próxima linha, você acabar lendo a linha errada.
Acho que estou indo bem, consigo entender meu código mesmo depois de muito tempo com o projeto parado rsrs.
Show de bola....Vcs são The Best!!! :-) Tmj!
16:00 - (Sobre o assunto do VS) ... as linha muito extensa existe a opção, da quebra de linha (word wrap) no software de forma automática.
Tava esperando muito por esse vídeo e atire a primeira pedra quem nunca fez um código que nem o do Gabriel kkkkkkkkkkk
1° ✓✓®
Bora pra mais um vídeo top desse canal 🚀🚀🔥
Comenta sobre as carreiras mobile! Como está no mercado etc...
Excelentes dicas
Pessoalmente eu uso exceções para tratar erros não previstos, não como instrumento de validação
18:36 existem extensões que ajudam a auto-formatar o código. Para Python tem a extensão "Python" da própria Microsoft, mas tem que instalar um módulo formatador, eu uso black, "pip install black", e depois vai nas configurações da extensão e seleciona o black como formatador. Eu configurei para toda vez que eu salvar o arquivo ele formata todos os espaços e linhas pra mim. Dá pra configurar pra formatar enquanto digita, mas eu não gosto. Dá pra escolher um linter tb, o linter só vai indicar os erros, mas não corrigí-los, eu uso flake8, "pip install flake8". Para C/C++ a extensão da Microsoft tem linter e formatter embutido. Não conheço Typescript, mas com certeza deve ser fácil achar linter e formatter.
Vcs falam disso em 24:20 :)
Existem vários "nomes" para os estilos. K&R, por exemplo. Talvez achar um conhecido que goste e se for o caso fazer uma variante dele. "Linux Kernel" é uma variante do K&R e poderia chamar de K&R_LK deixando claro só o que mudou. Eu não consegui fazer isso. Gosto de muitos espaços e muitas linhas. 😉
Valeu!
❤️❤️❤️
Como alguém dizia
"É fácil fazer uma máquina entender seu código, é difícil fazer um ser humano entender ele"
Ou algo do tipo kkkkkkkkkk
Não sei se vcs respondem comentários, mas vamos lá.
No caso de um dos códigos que mostraram, as funções abaixo do main onde são chamadas, quando devo chamar na mesma página e quando devo chamar em outro arquivo usando import?
Time Saver? E se copiarmos o código todo para o chatgpt e pedir para ele organizar tudo conforme o manual?
Qual livro devo comprar primeiro estruturas de dados e algoritmo com Java script ou lógica da programação e algoritmo com Java script
Lógica de programação.
No caso de uma sobrecarga de métodos, como vcs aconselham a formatação? Claro baseado no código limpo.
Me deu uma agonia quando eles removiam a identação 😂😂
Gratiluz!
800 linhas é muito? Já vi classe com mais de 25.000 linhas.
A parte mais difícil é entender o código depois de pronto kkkkkkkkkkkkkkk
"código deve ter até 500 linhas" - raro ver isso em empresa grande. aqui na atual onde trabalho é no mínimo 3k de linha qualquer classe.
Ixi kakakka preciso refatorar tudo😅 meus bot um dia peguei pra arrumar uma função e quando abriu pensei... "Que diab0s eu vim fazer aqui mds?!" De tão confuso que fiquei
Reclamam do código do Linux mas nunca viram o de backend de onde trabalho. Facilmente chegam a 15mil linhas de código em python pq o tratamento de TODOS os endpoints são feitos em um único arquivo
Onde eu trabalho tem um controller de uma Web API feita em java que está atualmente com 4431 linhas, se o uncle bob vê um negócio desse o homem morre
"nada contra o código do Torvalds" Eu ri. Mas quem é doido de dizer que o código do Torvalds tá um ruim?
Quem nunca que atire o primeiro mouse.
Não sei o quanto entra nesse assunto... mas nem tudo é Java, especialmente o javascript.
Não é preciso declarar tudo o que vai usar, ficar usando "let" e ficar fazendo reatribuições...
Dai o código, mesmo com 50 linhas ou menos, você precisa ficar pulando de cima pra baixo pra entender o que ta acontecendo.
Enquanto isso, só por declarar só quando for usar, o coisa pode ter suas 200 linhas, mas você le igual o "jornal" de cabo a rabo sem precisar voltar.
E pros frontenders... html, css... é verboso. Componentizar é bom, mas se o arquivo tem 500 linhas, onde 400 é markup e das outras 100, metade é importações, whitespace e quebras de linhas... ta de boa. Agora se fosse o contrario... dai não né.
Tem o capítulo 6?
Se preocupar com formatação de programa seria um arquiteto modificando a engenharia de uma construção. Um engenheiro vai la e faz uma ponte segura, feia, sem cor mas funcional, passa uma frota de tanque de guerra. Ai vem o arquiteto pra colocar um canteiro central, pintar as faixas e por sinalização kkkkkk
3:48 Do lado esquerdo onde tem "Explorador", lá embaixo tem "Estrutura do Código" onde mostra as funções, classes, structs, etc. Dependendo da linguagem que estiver utilizando é preciso instalar alguma extensão, por exemplo, para arquivos "Makefile" precisa da extensão "Makefile Outliner". Aliás, para quem usa VSCode em inglês "Estrutura do Código" em inglês é "Outline". Se não estiver aparecendo, pode ir em "Menu -> View -> Open view..." e selecionar "Outline" para abrir essa view, ou na barra de commandos digite "view " (com espaço) e selecione "Outline". Eu particularmente deixo aberto o tempo todo no painel secundário do lado direito "Menu -> View -> Appearance -> Secondary Side Bar", segura e arrasta o "Outline" pro painel secundário e voilà.
Tem programas em C que o pessoal faz em uma unica linha 🤣
kkkkkkk podia ter olhado a classe Builder do illuminate/database ( gesto de banco do laravel )
tem 3903 linhas
não,
eu não entendo
Meus códigos são feios parece que é criptografado.
Olá. Não achei o seu código antigo com falha de organização. Acho que deixando legível, está ótimo, apenas seguindo as regras principais. Qqer um que vir o código daquela maneira vai perceber que o mesmo fora organizado. Não acho que seja necessário seguir um excesso de regras de forma absoluta, mas é só a minha opinião. Obrigado pelo vídeo!
Eu uso as funções no python acima das chamadas. Todas estão no começo do código. Será que isso é ruim? Com certeza aprendi assim em algum canal do youtube.. vlw!