Seu código deve ser claro e fácil de manter. Aqui estão vários outros princípios de programação para ajudá-lo a limpar seu ato.
É fácil escrever código, mas desafiador escrever um bom código. Adotar princípios básicos de programação é uma maneira infalível de escrever código de alta qualidade que seja eficiente, legível, confiável, seguro e de fácil manutenção, independentemente do tamanho de um projeto de software.
Códigos ruins vêm em muitas formas: cadeias if-else enormes e confusas, programas não confiáveis, variáveis que não fazem sentido, etc. Como você escreve código eficaz? Com disciplina e propósito. Aqui estão os princípios básicos de programação que farão de você um programador melhor.
1. Mantenha-o simples, estúpido (KISS)
Parece um pouco duro, mas é um dos princípios mais importantes a serem adotados ao escrever código de computador. O que significa KISS?
Isso significa que você deve escrever o código da forma mais simples possível. Uma das regras da programação básica é nunca se deixar levar pela tentativa de ser excessivamente inteligente ou se exibir com um bloco grosso de código avançado. Se você pode escrever um script em uma linha, escreva-o em uma linha.
Aqui está uma função simples:
function addNumbers(num1, num2) {
return num1 + num2;
}
Bem simples. É fácil de ler e você sabe exatamente o que está acontecendo.
Um princípio de programação com esse espírito é usar nomes de variáveis claros. Aproveite as vantagens das bibliotecas de codificação e use as ferramentas existentes. Facilite o retorno após seis meses e volte ao trabalho imediatamente. Manter as coisas simples irá poupar-lhe muito sofrimento desnecessário no futuro.
2. Escreva o código DRY
O princípio de programação de computadores Don’t Repeat Yourself (DRY) significa, claramente, não repetir código. É um erro comum de codificação. Ao escrever código, evite duplicação de dados ou lógica. Se você já copiou e colou código em seu programa, não é um código DRY.
Dê uma olhada neste roteiro:
function addNumberSequence(number) {
number = number + 1;
number = number + 2;
number = number + 3;
number = number + 4;
number = number + 5;
return number;
}
Em vez de duplicar linhas, tente encontrar um algoritmo que use um loop.
O código DRY é fácil de manter. É mais fácil depurar um loop que lida com 50 repetições do que 50 blocos de código que lidam com uma repetição cada.
3. Aberto/Fechado
Este princípio de programação significa que você deve tentar tornar seu código aberto à extensão, mas fechado à modificação. Ele garante a criação de código que não precisa ser modificado mesmo quando os requisitos mudam. Este é um princípio importante ao lançar uma biblioteca ou estrutura que outros irão usar.
Por exemplo, suponha que você esteja mantendo uma estrutura GUI. Você poderia lançar uma versão para codificadores modificarem e integrarem seu código lançado diretamente. O que acontece quando você lança uma atualização importante quatro meses depois?
O código deles será quebrado. Isso provavelmente deixará seus companheiros muito infelizes. Eles não vão querer usar sua biblioteca por muito mais tempo, não importa o quão útil ela possa ter sido em seu apogeu.
Em vez disso, libere código que impeça modificações diretas e incentive a extensão. Princípios básicos de programação como este separam o comportamento central do comportamento modificado. O código é mais estável e mais fácil de manter.
4. Composição sobre herança
Se você escrever código usando programação orientada a objetos, descobrirá que esse princípio de programação é muito útil. O princípio da composição sobre herança afirma que objetos com comportamentos complexos devem conter instâncias de objetos com comportamentos individuais. Eles não deveriam herdar uma classe e adicionar novos comportamentos.
Depender da herança causa dois problemas principais. Primeiro, a hierarquia de herança pode ficar confusa rapidamente. Você também tem menos flexibilidade na definição de comportamentos em casos especiais. Digamos que você queira implementar comportamentos para compartilhar:
A programação de composição é mais limpa de escrever, mais fácil de manter e permite comportamentos que definem flexibilidade. Cada comportamento individual é sua própria classe. Você pode criar comportamentos complexos combinando comportamentos individuais.
5. Responsabilidade Única
O princípio da responsabilidade única afirma que cada classe ou módulo de um programa deve fornecer apenas uma funcionalidade específica. Como diz Robert C. Martin: “Uma classe deve ter apenas um motivo para mudar”.
As aulas e módulos geralmente começam dessa maneira. Tenha cuidado para não adicionar muitas responsabilidades à medida que as aulas ficam mais complicadas. Refatore e divida-os em classes e módulos menores.
A consequência da sobrecarga de classes é dupla. Primeiro, isso complica a depuração quando você tenta isolar um determinado módulo para solução de problemas. Em segundo lugar, torna-se mais difícil criar funcionalidades adicionais para um módulo específico. Bons princípios de programação evitam estes problemas antes que se tornem problemas a resolver.
6. Separação de Preocupações
O conceito de separação de interesses é uma versão abstrata do princípio da responsabilidade única. Essa ideia afirma que você deve projetar programas com partes diferentes e que essas partes não devem ter acesso umas às outras.
Um exemplo bem conhecido disso é o design model-view-controller (MVC). O MVC separa um programa em três áreas distintas: os dados (modelo), a lógica (controlador) e o que a página exibe (visualização). Variações do MVC são comuns nos frameworks web mais populares da atualidade.
Por exemplo, o código que trata o banco de dados não precisa saber como renderizar os dados no navegador. O código de renderização recebe informações do usuário, mas o código lógico cuida do processamento. Cada pedaço de código é completamente independente.
O resultado é um código fácil de depurar. Se você precisar reescrever o código de renderização, poderá fazê-lo sem se preocupar com como os dados serão salvos ou como a lógica será processada.
7. Você não vai precisar disso (YAGNI)
Este princípio significa que você nunca deve codificar funcionalidades com a possibilidade de precisar de algo no futuro. Um dos princípios mais importantes de programação de computadores a aprender é que você não deve tentar resolver um problema que não existe.
Na tentativa de escrever código DRY, os programadores podem violar este princípio. Freqüentemente, programadores inexperientes tentam escrever o código mais abstrato e genérico possível. Muita abstração, entretanto, causa código inchado que é impossível de manter.
Aplique os princípios de programação DRY apenas quando necessário; se você notar pedaços de código escritos repetidamente, implemente uma camada de abstração. Não pense muito à frente às custas do seu lote de código atual.
8. Documente seu código
Com toda essa conversa sobre os princípios da codificação, pode ser fácil esquecer o ser humano do outro lado, que pode eventualmente entrar no seu código.
Qualquer desenvolvedor sênior enfatizará a importância de documentar seu código com comentários adequados. Todas as línguas os oferecem; você deve criar o hábito de escrevê-los. Deixe comentários para explicar objetos, aprimorar definições de variáveis e tornar as funções mais fáceis de entender.
Aqui está uma função JavaScript com comentários guiando você pelo código:
// This function will add 5 to the input if odd, or return the number if even
function evenOrOdd(number) {
// Determine if the number is even
if (number % 2 == 0) {
return number;
}
// If the number is odd, this will add 5 and return
else {
return number + 5;
}
}
Deixar comentários dá um pouco mais de trabalho enquanto você está codificando. Leva tempo e desvia sua atenção do trabalho real em questão. Você entende seu código muito bem, certo? Quem se importa? Vale lembrar que nada é descartável, mesmo no mundo da tecnologia. O que é um princípio de programação de computador no final das contas se a pessoa do outro lado acaba se perdendo?
Recomendamos ir além e deixar comentários em qualquer lugar onde você tenha medo de que as coisas fiquem obscuras ou pouco claras, especialmente ao colaborar com outras pessoas. Não frustre seus colegas desenvolvedores forçando-os a decifrar sua sintaxe.
Experimente escrever um programa, deixá-lo sozinho por seis meses e voltar para modificá-lo. Você ficará feliz por ter documentado seu programa, em vez de ter que examinar todas as funções para lembrar como ele funciona.
9. Refatorar
É difícil aceitar, mas seu código não ficará perfeito na primeira vez. Refatorar código significa revisar seu código e procurar maneiras de otimizá-lo, tornando-o mais eficiente e mantendo os resultados exatamente iguais. Esta é uma consideração para escrever um código mais limpo e de qualidade.
As bases de código estão em constante evolução. Um dos princípios da programação é lembrar que é completamente normal revisitar, reescrever ou até mesmo redesenhar blocos inteiros de código.
Isso não significa que você não teve sucesso na primeira vez que escreveu seu programa; você inevitavelmente se familiarizará mais com um projeto com o tempo. Use esse conhecimento para se ajustar à medida que avança.
10. Código limpo a todo custo
Além de todos os princípios fundamentais de programação, deixe seu ego de lado e esqueça de escrever códigos inteligentes. Quando dizemos isso, queremos dizer o tipo de código que mais parece um enigma do que uma solução. Você não está programando para impressionar estranhos. Você está nesta profissão para resolver problemas.
Não tente agrupar muita lógica em uma linha. Deixe instruções claras em seus comentários e documentação. Se o seu código for fácil de ler, geralmente também será fácil de manter.
Bons programadores e código legível andam de mãos dadas. Deixe comentários quando necessário, siga os guias de estilo e coloque-se no lugar do próximo sempre que possível.
Aprenda os princípios da programação de computadores para ser um bom programador
Aprender como ser um bom programador exige bastante tempo e esforço. Estas regras de programação básica são um roteiro para se tornar um programador profissional. Seguindo esses princípios consagrados pelo tempo, você se preparará para o sucesso em sua futura carreira de programação.