7 técnicas de programação que silenciosamente tornam você uma elite

A programação requer um conjunto variado de habilidades, desde codificação de baixo nível até tarefas de alto nível, como comunicação. As dicas a seguir me ajudaram a melhorar ao longo de minha carreira de programação.

Evite otimização prematura

Iniciantes escrevem código ineficiente e programadores avançados escrevem código otimizado. Mas os verdadeiros especialistas sabem quando otimizar seu código e quando não.

Na verdade, não existe “código otimizado”: ​​o código pode ser otimizado para velocidade, uso de memória ou vários outros fatores. Mas quando falamos de otimização prematura, geralmente estamos falando de tentativas de otimizar a velocidade, e isso geralmente tem um custo diferente.

O custo pode ser o uso da memória, o tamanho do seu programa ou o design geral e a capacidade de manutenção do programa. A otimização geralmente requer técnicas que são muito mais difíceis de entender do que a alternativa, o que pode tornar o código mais difícil de ser compreendido por outras pessoas – ou até mesmo confuso para você no futuro!

Tente evitar otimizar seu código muito cedo em seu ciclo de vida; pelo menos evite fazer disso o foco. Teste seu código, meça seu desempenho e entenda quais partes dele podem se beneficiar da otimização.

Colabore com outras pessoas

A maioria das maneiras pelas quais você pode melhorar como programador envolve colaboração, até certo ponto. Mesmo se você estiver trabalhando inteiramente em uma base de código, precisará colaborar com outras versões de si mesmo: aquele que está cansado, ou está mudando de outro projeto, ou tem mais conhecimento do que o seu atual.

Mas as boas práticas não são apenas uma questão de interesse próprio: a grande maioria dos programadores acabará trabalhando no código com outras pessoas, em algum momento.

Trabalhar juntos é uma habilidade interpessoal complicada, então não se sinta mal se parecer complicado no início.

Seja programando em pares, trabalhando com um mantenedor de projeto no GitHub ou usando um assistente de IA, a prática leva à perfeição. Você aprenderá como aceitar sugestões de outras pessoas, explicar sua própria abordagem e respeitar opiniões divergentes.

Também não é apenas uma habilidade suave. Ferramentas como GitHub e Slack podem fazer uma grande diferença, especialmente se você aproveitá-las ao máximo. Ser capaz de escrever código (ou prosa) claramente compreensível pode ser uma adição valiosa para qualquer equipe.

Use as melhores ferramentas

Crédito: Coralnes/Shutterstock

Quando se trata de programação, nunca faltam ferramentas para aprender. Desde fundamentos, como sua linguagem e pilha de tecnologia, até utilitários menores que tornam seu dia mais tranquilo, você deve estar sempre em busca de ajuda extra.

Essa técnica não se trata necessariamente de usar as melhores ferramentas, mas de usá-las da melhor maneira. Em vez de ficar angustiado com a escolha entre Vim e VSCode, escolha um (depois de fazer sua pesquisa!) e conheça-o bem. Muito bem.

Ainda me lembro de como foi instrutivo observar um colega – um mestre em Vim – trabalhando, no início da minha carreira. Eles circulavam pelos arquivos com facilidade, navegando de maneiras que eu nem conseguia entender, fazendo mudanças radicais com o pressionar de uma tecla. E isso não foi nada comparado ao colega de trabalho que usou o Emacs!

Encontrar uma ferramenta que torne você um programador melhor é emocionante porque geralmente é barata e oferece uma atualização instantânea e permanente.

Escreva programas do tamanho apropriado

A filosofia Unix afirma que o software deve “fazer uma coisa e fazê-la bem”. Essa abordagem não depende do Unix, então você pode aplicá-la em qualquer outro lugar e provavelmente verá algum benefício.

Escrever programas menores significa que eles são mais fáceis de manter e podem ajudá-lo a realizar uma gama mais ampla de tarefas. Você pode combinar pequenas ferramentas para trabalharem juntas, usando recursos como pipes e redirecionamento, o que ajuda a reduzir a dependência de qualquer aplicativo monolítico.

Resolva o problema em questão

Crédito: Lucas Gouveia/How-To Geek | Gorodenkoff/Shutterstock

Intimamente relacionado ao tamanho do programa está o problema real que você está tentando corrigir. Às vezes você pode influenciar isso dividindo a tarefa em partes menores e resolvendo cada uma com um programa separado.

Muitas vezes, porém, você terá uma tarefa claramente definida, mas os detalhes podem influenciar seu foco. É fácil mirar muito especificamente ou muito genericamente. A primeira abordagem pode resultar em um código muito acoplado a um único problema, que será difícil de adaptar se o problema mudar. Isso pode levar a reescritas caras, que não apenas consomem tempo e esforço, mas também aumentam o risco de introdução de bugs.

Enquanto isso, generalizar demais o problema pode criar uma tarefa que vai muito além do que você realmente precisa. É tentador continuar generalizando, tentando resolver um desafio cada vez mais útil ou interessante, e acabar trabalhando num “programa para resolver todos os problemas”, que está muito distante da sua real prioridade.

Escreva funções de comprimento apropriado

Na mesma linha, os blocos de construção do seu código – funções – também devem ter um comprimento razoável. Todos nós tivemos que lidar com programas que consistem em uma função gigante e são muito mais difíceis de seguir, raciocinar e modificar.

Por outro lado, é possível ir longe demais: se cada função for apenas uma única instrução, você acabará com um código tão confuso e confuso quanto o extremo oposto.

Pessoalmente, gosto de uma função que cabe em uma tela, para que eu possa revisar tudo o que ela faz sem rolar para frente e para trás. Acho que geralmente é uma orientação útil para manter as funções gerenciáveis, embora obviamente dependa do tamanho da tela, do tamanho da fonte e do comprimento da linha, entre outros fatores. Algumas linguagens, por exemplo, se prestam a códigos mais detalhados ou concisos, portanto, certifique-se de exercer seu próprio julgamento.

Saiba como escrever uma função pura

Quando se trata de funções, a única coisa que me fez apreciar códigos bem escritos mais do que qualquer coisa é o uso de funções puras.

Uma função pura é, em termos simples, aquela que não faz nada além de retornar uma saída consistente. Aqui está um exemplo:

int max(int a, int b) {     return a > b ? a : b; } 

Esta função retorna apenas um valor, e toda vez que você chamar max(1, 2), você obterá o mesmo resultado. Em contraste, aqui está um exemplo de função impura:

function print_random(array) {     const n = array.random();     console.log(n);     return n; } 

Esse código tem um efeito colateral – ele é impresso no console – e pode retornar resultados diferentes, mesmo com a mesma entrada.

Funções puras são muito mais fáceis de combinar porque são mais previsíveis. Eles também são muito mais fáceis de testar, pois você pode verificar o resultado esperado. Isso não significa que cada função que você escreve deva (ou até possa) ser pura, mas você deve procurar oportunidades para purificar sua base de código e torná-la mais confiável.

Este artigo foi útil?
Gostei0Não Gostei0

Related posts

Computadores Mac mais antigos estão prestes a perder o Google Chrome

Linux Mint 22.3 chegou, completo com Cinnamon 6.6

Pare de ignorar a tecla do Windows: ela tem mais de 60 atalhos ocultos