Grug ajuda a pensar em programação
Faz muito tempo que não leio um artigo sobre programação com um sorriso constante no rosto.
Grug é como a maioria de nós, não um desenvolvedor de cérebro grande, mas um simples homem das cavernas que deseja escrever código de qualidade decente e fazer as coisas.
Grug não é tão inteligente, mas esse pode ser seu superpoder. Há muita sabedoria no texto.
Para mim, demorou alguns minutos para afundar na maneira de se expressar do Grug, mas valeu a pena!
Leia o artigo completo em grugbrain.dev
Aqui estão algumas pepitas de ouro de Grug :
Complexidade
complexidade é um demônio espiritual que entra na base de código por meio de desenvolvedores e gerentes de projeto bem-intencionados, mas em última análise, muito amigáveis, que não têm cérebro grug-brain, que não temem o demônio espiritual da complexidade ou mesmo sabem sobre algum dia
dizendo não
melhor arma contra a complexidade espírito demônio é a palavra mágica: “não”
não, grug não constrói esse recurso
não, grug não constrói essa abstração
observe, este bom conselho de engenharia, mas péssimo conselho de carreira: “sim” é a palavra mágica para rocha mais brilhante e encarregada de uma grande tribo de desenvolvedores
triste, mas verdadeiro: aprenda “sim” e depois aprenda a culpar outros grugs quando falhar, conselho de carreira ideal
Fatorando seu código
não fatore sua inscrição muito cedo!
desenvolvedores de grandes cérebros geralmente não gostam disso e inventam muitas abstrações no início do projeto
grug tentado a alcançar o clube e gritar “grande cérebro sem código de manutenção! grande cérebro, mova-se para o próximo comitê de arquitetura, deixe o código para lidar com o grug!
em vez disso, grug tenta limitar o dano do desenvolvedor de cérebro grande no início do projeto, dando-lhes algo como um diagrama UML (não prejudica o código, provavelmente jogue fora de qualquer maneira) ou exigindo uma demonstração de trabalho amanhã
demonstração de trabalho truque especialmente bom: forçar o cérebro grande a fazer algo para realmente trabalhar para falar e codificar para ver essa coisa, ajudará o cérebro grande a ver a realidade no chão mais rapidamente
Cerca de Chesterton
grug entende todos os programadores platônicos em algum nível desejam a perfeição da música das esferas no código. mas o perigo está aqui, o mundo é feio e gronkky muitas vezes e o código também deve ser
grug não diz não melhorar o sistema nunca, bastante tolo, mas recomendo levar tempo entender o sistema primeiro, especialmente o sistema maior é e é respeitar o código funcionando hoje, mesmo que não seja perfeito
Ferramentas
ferramenta de amor grug
bom depurador que vale peso em pedras brilhantes, na verdade também mais: quando confrontado com bug, grug frequentemente trocava todas as pedras brilhantes e talvez alguns filhos por um bom depurador e, de qualquer maneira, o depurador não pesava nada, tanto quanto grug pode dizer
O grug sempre recomenda que o novo programador aprenda profundamente o depurador disponível, recursos como pontos de interrupção condicionais, avaliação de expressão, navegação na pilha, etc.
Tipo de Sistemas
sistemas de tipos muito semelhantes ao grug tornam a programação mais fácil. para grug, os sistemas de tipo são mais valiosos quando o grug pressiona um ponto no teclado e a lista de coisas que o grug pode fazer aparece como mágica. este 90% do valor do sistema de tipo ou mais para grug
sempre vem a maioria dos sistemas de tipo de valor: clique em ponto para ver o que o grug pode fazer, nunca se esqueça!
Separação de preocupações
Separation of Concern (SoC), outra ideia poderosa na mente de muitos desenvolvedores
aqui, grug é muito mais azedo do que DRY e, de fato, escreve um ensaio de grande cérebro sobre a localidade de comportamento do princípio de design alternativo (LoB) contra o SoC
grug prefere colocar código na coisa que faz a coisa. agora, quando o grug olha para a coisa, o grug sabe o que a coisa faz, sempre um bom alívio!
Exploração madeireira
grug grande fã de log e incentiva muito isso, especialmente na nuvem implantada. alguns não-grugs dizem que a extração de madeira é cara e não é importante. grug costumava pensar assim não mais
dicas grug sobre log são:
- registre todas as ramificações lógicas principais dentro do código (if/for)
- se a "solicitação" abranger várias máquinas na infraestrutura de nuvem, inclua o ID da solicitação em todos para que os logs possam ser agrupados
- se possível, faça com que o nível de log seja controlado dinamicamente, para que o grug possa ligar/desligar quando precisar de problemas de depuração (muitos!)
- se possível, faça o nível de log por usuário, para depurar problemas específicos do usuário
ultra maior desenvolvedor de cérebro uma vez disse:
Otimização prematura é a raiz de todo o mal
grug recomenda sempre ter um perfil de desempenho concreto e real mostrando um problema de desempenho específico antes de começar a otimizar.
nunca se sabe qual pode ser o problema real, grug geralmente surpreende! muitas vezes!
APIs
Os criadores da API pensam muito abstratos e inteligentes
geralmente o grug não se preocupa muito com os detalhes da API: deseja escrever um arquivo ou lista de classificação ou qualquer outra coisa, apenas deseja chamar write () ou sort () ou qualquer outra coisa
mas os grandes desenvolvedores de API do cérebro dizem:
não tão rápido, grug! esse arquivo está aberto para gravação? você definiu um Comparator para esse tipo?
grug encontra mão autocontrolada alcançando o clube novamente
não me importo com essas coisas agora, só quero classificar e escrever arquivo sr. grande cérebro!
Desenvolvimento front-end
alguns não grugs, quando se deparam com o desenvolvimento web, dizem:
Eu sei, vou dividir minha base de código front-end e back-end e usar uma nova biblioteca SPA quente conversando com um back-end GraphQL JSON API por HTTP (o que é engraçado porque não estou transferindo hipertexto)
agora você tem dois covis de espíritos demoníacos de complexidade
grug não gosta de grandes bibliotecas front-end complexas que todos usam
grug faz htmx e hyperscript para evitar
mantenha a complexidade baixa, HTML simples, evite muito javascript, o éter natural do demônio da complexidade do espírito
talvez eles trabalhem para você, mas não há vaga de emprego, desculpe
reaja melhor para o trabalho e também para algum tipo de aplicativo, mas também você se torna acólito do demônio da complexidade, goste ou não, desculpe, essa é a vida do front-end
Medo de parecer burro
observação! muito bom se grug sênior disposto a dizer publicamente: “hmmm, isso é muito complexo para grug”!
muitos desenvolvedores Fear Of Looking Dumb (FOLD), grug também uma vez FOLD, mas grug aprende a superar: grug sênior muito importante diz “isso é muito complicado e confuso para mim”
isso torna normal para grugs júnior admitir muito complexo e não entender também, geralmente esse caso! DOBRA principal fonte de poder demoníaco de complexidade sobre o desenvolvedor, especialmente jovens grugs!
Síndrome do Impostor
grug observe que muitos desses impostores se sentem em desenvolvimento
agora, grug faz softwares de muito trabalho e moderado sucesso de código aberto, e ainda assim grug muitas vezes não tem ideia do que está fazendo! muitas vezes! grug ainda tem medo de cometer erros, quebrar o código de todos e desapontar outros grugs, impostor!
talvez seja a natureza da programação para a maioria dos grug se sentir impostor e ficar bem é melhor: ninguém impostor se todo mundo impostor
qualquer jovem grug que leia até aqui provavelmente se sairá bem na carreira do programa, mesmo que frustrações e preocupações sempre estejam lá, desculpe





































![O que é uma lista vinculada, afinal? [Parte 1]](https://post.nghiatu.com/assets/images/m/max/724/1*Xokk6XOjWyIGCBujkJsCzQ.jpeg)