10 dicas para escrever mais limpo e melhor código

Escrever código limpo parece mais fácil do que realmente é, mas os benefícios valem a pena. Veja como você pode começar a escrever códigos mais limpos hoje.

Escrever código limpo parece mais fácil do que realmente é, mas os benefícios valem a pena.  Veja como você pode começar a escrever códigos mais limpos hoje.
Propaganda

Sem dúvida, a programação é difícil Como aprender programação sem todo o estresse Como aprender programação sem todo o estresse Talvez você tenha decidido seguir a programação, seja para uma carreira ou apenas como um hobby. Ótimo! Mas talvez você esteja começando a se sentir sobrecarregado. Não é tão bom. Aqui está a ajuda para facilitar sua jornada. Consulte Mais informação . Uma coisa é aprender idiomas e estudar algoritmos, mas é uma outra fera tentando codificar um aplicativo de trabalho complexo que não faz você querer arrancar seus olhos.

De certa forma, escrever código limpo é muito parecido com desenhar, cozinhar ou fotografar 5 Hobbies criativos que farão de você uma pessoa mais feliz 5 Hobbies criativos que farão de você uma pessoa mais feliz Uma saída criativa apropriada pode fazer maravilhas para sua saúde mental e em geral felicidade. Aqui estão alguns hobbies criativos que são comprovados para ajudar desta forma. Leia mais - parece mais fácil do que realmente é. Então, por que se incomodar? Bem, porque os benefícios valem a pena:

  • Problemas se tornam mais fáceis de resolver. Uma vez que você comece a pensar em código limpo, sua abordagem para a solução de problemas muda. Em vez de soluções de força bruta, seus algoritmos e design de software se tornam mais elegantes e intencionais.
  • Menos tempo é desperdiçado na manutenção. Código limpo é mais fácil de ler e entender, então você gasta menos tempo tentando descobrir o que certos segmentos realmente fazem e mais tempo para corrigir, revisar, estender, etc.
  • As ideias são mais claramente comunicadas. Se você está trabalhando com outros programadores, o código limpo reduz a probabilidade de mal-entendidos entre todos vocês, o que também significa menos bugs a longo prazo.

Veja como você pode começar a escrever código limpo.

1. Use nomes descritivos

O que são variáveis, classes e funções? Há muitas maneiras de responder a isso, mas quando você realmente pensa sobre isso, essas coisas nada mais são do que a interface entre um programador e a lógica subjacente de um aplicativo.

Então, quando você usa nomes não-claros e não-descritivos para variáveis, classes e funções, você está essencialmente ofuscando a lógica da aplicação de qualquer programador que leia o código, incluindo você mesmo.

“Eu não sou um ótimo programador; Eu sou apenas um bom programador com grandes hábitos. ”
- Kent Beck

O que uma variável chamada dxy realmente significa? Quem sabe. Você provavelmente teria que ler todo o código para fazer engenharia reversa de seu significado. Por outro lado, o significado de uma variável como distanceBetweenXY é instantaneamente reconhecível.

O mesmo é verdade para classes e funções. Não se CalcTan() com CalcTan() quando você pode ir para CalculateTangent() ou CalcTangentAngle() .

2. Dê a cada classe / função uma finalidade

Você já espiou dentro de uma função que foi centenas ou mesmo milhares de linhas longas? Se você tem, então você sabe o quanto pode ser uma dor para navegar, entender e editar. Comentários podem ajudar, mas apenas em um grau limitado.

"A programação está quebrando uma grande tarefa impossível em várias pequenas tarefas possíveis".
- Jazzwant

Código limpo é dividido em pedaços atômicos. Cada função deve ter como objetivo fazer uma única coisa e cada classe deve ter como objetivo representar um conceito específico. Esta é uma simplificação, é claro, mas quando em dúvida, mais simples é mais limpo.

Na prática, um cálculo complexo como GetCreditScore() pode precisar ser dividido em várias funções auxiliares, como GetCreditReports(), ApplyCreditHistoryAge() e FilterOutstandingMarks() .

3. Excluir código desnecessário

Esse mau hábito é um com o qual eu ainda luto de tempos em tempos. Isso geralmente acontece assim: eu quero consertar ou otimizar um pedaço de código, então eu comento e faço uma reescrita logo abaixo dele - e mesmo que funcione, eu mantenho o código antigo lá apenas no caso.

“É possível que o software não seja como qualquer outra coisa, que ele seja descartado: que o objetivo é sempre vê-lo como uma bolha de sabão?”
- Alan J. Perlis

Com o tempo, eu acumulo um monte de blocos de código comentados que não são mais necessários, mas confundem meus arquivos de origem. E o mais engraçado é que, em muitos casos, o código circundante evoluiu para que o código comentado não funcionasse mesmo se restaurado.

O problema é que essa prática de comentar “código de backup” tornou-se obsoleta pelo controle de origem. Se você não estiver usando algo como o Git ou o Mercurial, você precisa começar a usar o controle de origem imediatamente O que é o Git e por que você deve usar o controle de versão Se você é desenvolvedor O que é o Git e por que você deve usar o controle de versão? re um desenvolvedor Como desenvolvedores web, na maior parte do tempo, tendemos a trabalhar em sites de desenvolvimento local e depois só fazemos upload de tudo quando terminamos. Isso é bom quando é só você e as mudanças são pequenas, ... Leia Mais. Código mais limpo espera por você.

4. Legibilidade> Esperteza

Muitos programadores combinam “código limpo” com “código inteligente”, como se compactar dez linhas em uma fosse de alguma forma mais limpa. Claro, ocupa menos espaço na tela, mas é realmente mais fácil de entender? Às vezes, talvez. Mas a maior parte do tempo? Não.

“Todo mundo sabe que a depuração é duas vezes mais difícil do que escrever um programa em primeiro lugar. Então, se você for tão inteligente quanto você pode ser quando você escreve, como você vai depurar isso? ”
- Brian W. Kernighan

Eu acho que programadores amam código inteligente porque parece um quebra-cabeça ou enigma resolvido. Eles descobriram uma maneira especial e única de implementar algo - um “atalho” se você quiser - e isso quase funciona como uma validação das habilidades do programador.

Mas para escrever código limpo, você precisa deixar seu ego na porta.

Sempre otimize o código para a próxima pessoa que vai lê-lo, porque é muito provável que a próxima pessoa seja realmente VOCÊ e não haja nada mais vergonhoso do que ser incapaz de ler ou entender sua própria esperteza.

5. Mantenha um estilo de codificação consistente

Eu não tenho nada contra bons tutoriais de programação O que faz um bom tutorial de programação? O que faz um bom tutorial de programação? Nem todos os tutoriais de programação são iguais. Alguns beneficiam você e outros acabam perdendo seu tempo. Aqui está o que procurar em um tutorial de programação de qualidade. Leia mais, mas uma das desvantagens é que iniciantes acabam pegando uma grande variedade de hábitos conflitantes, especialmente no que se refere ao estilo de codificação.

Não estou aqui para declarar que um estilo é melhor que o outro. Se você quiser aparelho em suas próprias linhas, vá em frente. Se você quiser preceder chamadas de método com espaços, tudo bem. Se você preferir as guias aos espaços, não me deixe convencê-lo do contrário.

Mas faça o que fizer, fique consistente!

Linda é melhor que feia.
Explícito é melhor que implícito.
Simples é melhor que complexo.
Complexo é melhor que complicado.
Flat é melhor que aninhado.
Esparso é melhor que denso.
A legibilidade conta.
- Tim Peters, o Zen do Python

Se você for usar o camelCaseNaming para variáveis, não o adultere com underscore_naming . Se você usar GetThisObject() em um lugar, não vá com FetchThatObject() em outro lugar. E se você misturar guias e espaços, você merece ter seu teclado removido.

Decida o que você vai fazer desde o início e continue com isso. Algumas linguagens, como Python e C #, possuem guias de estilo em toda a linguagem que você pode querer seguir.

6. Escolha a arquitetura certa

Existem muitos paradigmas e arquiteturas diferentes que você pode usar para criar seus projetos. Observe como essa dica é sobre a escolha certa para suas necessidades, não sobre como escolher a melhor opção . Não há "melhor" aqui.

“Sem requisitos e design, a programação é a arte de adicionar bugs a um arquivo de texto vazio”.
- Louis Srygley

Por exemplo, o padrão Model-View-Controller (MVC) é muito popular atualmente no desenvolvimento da web, pois ajuda a manter seu código organizado e projetado de maneira a minimizar os esforços de manutenção.

Da mesma forma, o padrão Entity-Component-System (ECS) é muito popular atualmente no desenvolvimento de jogos, pois ajuda a modularizar dados e lógica de jogos de uma maneira que facilita a manutenção, produzindo código mais fácil de ler.

7. Domine os Idiomas da Língua

Uma das dificuldades em dominar uma nova linguagem de programação 7 Truques Úteis para Dominar uma Nova Linguagem de Programação 7 Truques Úteis para Dominar uma Nova Linguagem de Programação Não há problema em ficar sobrecarregado quando você estiver aprendendo a codificar. Você provavelmente esquece as coisas tão rapidamente quanto as aprende. Essas dicas podem ajudar você a reter melhor todas essas novas informações. O Read More está aprendendo as nuances que o separam de todos os outros idiomas. Essas nuances podem ser a diferença entre o código feio e complicado e o código bonito e fácil de manter.

Considere Python, Java e JavaScript. Eles são todos extremamente diferentes uns dos outros, em um grau que requer uma maneira diferente de pensar, dependendo de qual idioma você escolher usar .

"Uma linguagem que não afeta a maneira como você pensa sobre programação não vale a pena conhecer."
- Alan J. Perlis

Enquanto o Python tem tudo a ver com código compacto e tipagem de pato, o Java está mais para o lado da verbosidade e da explicitação. Toda linguagem tem expressões idiomáticas (como compreensão de lista em Python) que encorajam uma certa forma de codificação. Você faria bem em aprendê-las.

Há também “anti-padrões” para se preocupar, que são essencialmente padrões de design sub-ótimos que resultam em código ineficiente, não confiável ou de outra forma ruim. Estude e desaprenda todos os antipadrões comuns relacionados ao seu idioma de escolha.

8. Estudar o Código de Mestrado

Se você quer escrever código limpo, a melhor coisa que você pode fazer é ver como é o código limpo e tentar entender porque é assim - e não há melhor maneira de fazer isso do que estudando os arquivos de origem da indústria. mestres.

Obviamente, você não pode simplesmente entrar na sede da Microsoft e espiar seus projetos, mas sempre pode navegar por projetos de código aberto conhecidos. Como visualizar e editar o código-fonte de um aplicativo de código aberto Como visualizar e editar o código-fonte De um aplicativo de código aberto Ao abrir o código-fonte pode ser uma boa escolha, você também precisará investir na comunidade certa. O GitHub é um dos melhores lugares para fazer isso, não apenas por causa da grande quantidade ... Leia Mais. Não sabe por onde começar? Experimente os projetos exibidos no Github.

“Qualquer idiota pode escrever código que um computador possa entender. Bons programadores escrevem códigos que os humanos podem entender.
- Martin Fowler, Refatoração: Melhorando o Design do Código Existente

Afinal, essa é uma das razões pelas quais os projetos de código aberto existem Por que as pessoas contribuem para projetos de código aberto? Por que as pessoas contribuem para projetos de código aberto? O desenvolvimento de código aberto é o futuro do software. É ótimo para os usuários, porque o software de código aberto geralmente está disponível gratuitamente e geralmente mais seguro de usar. Mas o que obriga os desenvolvedores a contribuir com código de graça? Leia mais: para que os outros possam aprender com eles. E se você decidir contribuir para esse projeto, ele pode acelerar o processo de aprendizado. 5 Idéias de projeto para ajudar você a aprender a programar mais rápido Existem algumas maneiras de facilitar a curva de aprendizado para programação. Suje as mãos e aprenda mais rápido com projetos paralelos que você pode começar a qualquer momento. Brinque com esses cinco. Consulte Mais informação .

Pessoalmente, a primeira vez que vi código realmente limpo foi quando tropecei no projeto Python de código aberto de um certo hobbyista. O código era tão impressionante que quase parei de programar, mas acabou me ensinando muito.

9. Escrever bons comentários

"Escrever bons comentários" é o mais antigo conselho do mundo da programação. Na verdade, assim que iniciantes são apresentados aos comentários, eles são encorajados a comentar o máximo que puderem.

Mas quase parece que nos afastamos demais na direção oposta. Os novatos, em particular, tendem a comentar demais - descrevendo coisas que não precisam ser descritas e não entendem o que um “bom comentário” realmente é.

"Sempre codifique como se o cara que acaba mantendo seu código seja um psicopata violento que sabe onde você mora."
John Woods

Aqui está uma boa regra prática: existem comentários para explicar POR QUE existe uma parte do código em vez do que o código realmente faz. Se o código for escrito com clareza suficiente, ele deve ser auto-explicativo sobre o que ele faz - o comentário deve esclarecer a intenção por trás da razão pela qual ele foi escrito.

Comentários podem ser bons para avisos (ie “remover isto irá quebrar A, B e C”) mas na maioria das vezes deve descobrir coisas que não podem ser imediatamente obtidas do código (ie “use este parâmetro porque X, Y, e Z ”).

10. Refatorar, Refatorar, Refatorar

Assim como a edição é parte do processo de escrita, a refatoração faz parte do processo de codificação. Uma aversão à refatoração é a maneira mais rápida de acabar com um código que não pode ser mantido. Portanto, em muitos aspectos, essa é a dica mais importante a ser considerada.

Em resumo, a refatoração é apenas um termo chique para limpar o código sem afetar seu comportamento real.

“Sempre que tenho que pensar em entender o que o código está fazendo, me pergunto se posso refatorar o código para tornar essa compreensão mais imediatamente aparente.”
- Martin Fowler, Refatoração: Melhorando o Design do Código Existente

Um pouco de sabedoria que ficou comigo é o ditado: “Não comente código ruim. Reescreva-o. ”Como Fowler explica na citação acima, se o código parecer confuso o suficiente para ser comentado, talvez seja necessário refatorá-lo.

Além disso, à medida que você edita pedaços de código aqui e ali durante todo o projeto, sempre deixe o código em um estado melhor do que quando o encontrou pela primeira vez . Pode parecer um incômodo no momento, mas vai compensar a longo prazo (e pode até mesmo evitar burnout mental) Programação Burnout: Como recuperar sua programação Lost Motivação Burnout: Como recuperar sua motivação perdida Escrevendo todas essas linhas de código pode estar drenando fisicamente e emocionalmente. Tudo que você precisa para se recuperar é a consciência de que a motivação pode ser recuperada.

Há sempre algo novo para aprender

Um programador que está aprendendo a escrever código limpo é semelhante a um romancista que aprende a escrever uma prosa limpa: não há um jeito certo de fazê-lo, mas há muitas maneiras erradas de fazê-lo, e anos para dominar.

Algumas pessoas não têm o que é preciso e, eventualmente, acabam desistindo de programar para o bem 6 Sinais de que você não está destinado a ser um programador 6 Sinais de que você não está destinado a ser um programador Nem todo mundo é cortado para ser um programador. Se você não tem certeza absoluta de que deve ser um programador, aqui estão alguns sinais que podem apontar você na direção certa. Leia mais - e tudo bem, porque há muitos outros trabalhos técnicos que não envolvem codificação A codificação não é para todos: 7 Trabalhos tecnológicos que você pode obter sem codificação Não é para todos: 7 trabalhos tecnológicos que você pode obter sem ela Não desanime se você quiser fazer parte do campo da tecnologia - há muitos empregos para pessoas que não sabem codificar! Consulte Mais informação .

Mas para todos os outros, o código limpo é algo com o qual vale a pena se esforçar, mesmo que seja necessário o resto da vida para chegar lá.

Quão importante é o código limpo para você? Quais regras você segue para manter seu código limpo e organizado? Tem algum outro pedaço de sabedoria para compartilhar? Deixe-nos saber nos comentários abaixo!

In this article