CodeBucks logo
Estevam's Blog
qualidade do código

Melhores práticas para escrever código limpo e sustentável

Melhores práticas para escrever código limpo e sustentável
0 views
4 min read
#qualidade do código

Escrever código limpo é fundamental para manter a qualidade, a manutenção e a escalabilidade do software. Aqui está um roadmap que descreve as melhores práticas para escrever código limpo, juntamente com exemplos de códigos para ilustrar cada conceito:

Fase 1: Organização do Código

  1. Nomeação Significativa :
  • Utilize nomes de variáveis, funções e classes descritivos.
  • Exemplo:
# Ruim
x = 5
 
# Bom
total_sales = 5
  1. Mantenha o Código Pequeno :
  • Funções e métodos devem ser curtos e fazer uma única coisa.
  • Exemplo:
// Ruim
function processOrderAndSendEmail(order) {
  // Lógica complexa
}
 
// Bom
function processOrder(order) {
  // Lógica de processamento do pedido
}
 
function sendEmail(order) {
  // Lógica de envio de e-mail
}
  1. Estruturação Adequada :
  • Use recuos consistentes e agrupe lógica relacionada.
  • Exemplo:
# Ruim
if (condicao):
x = 5
else:
y = 10
 
# Bom
if condicao:
  x = 5
else:
  y = 10

Fase 2: Comentários e Documentação

  1. Comentários Relevantes :
  • Escreva comentários para explicar o "por quê" e não o "o quê".
  • Exemplo:
// Ruim
int result = a + b; // Adiciona a e b
 
// Bom
// Calcula o total de vendas
int result = totalSales + newSales;
  1. Documentação Adequada :
  • Documente funções, classes e módulos com clareza.
  • Exemplo (Python):
# Ruim
def calculate(x, y):
    """Calcula."""
    pass
 
# Bom
def calculate_total(x, y):
    """Calcula o total de x e y."""
    pass

Fase 3: Tratamento de Erros

  1. Gestão de Exceções :
  • Trate exceções de forma apropriada e proporcione mensagens de erro úteis.
  • Exemplo (JavaScript):
// Ruim
try {
  // Código propenso a erros
} catch (e) {
  console.log("Erro: " + e);
}
 
// Bom
try {
  // Código propenso a erros
} catch (error) {
  console.error("Ocorreu um erro inesperado: " + error.message);
}

Fase 4: Testes e Refatoração

  1. Teste Unitário :
  • Escreva testes unitários para todas as funções e métodos.
  • Exemplo (Java, JUnit):
@Test
public void testCalculateTotal() {
  int result = Calculator.calculateTotal(5, 3);
  assertEquals(8, result);
}
  1. Refatoração Contínua :
  • Identifique oportunidades de refatoração para melhorar o código.
  • Exemplo (Python):
# Ruim
def process_data(data):
  # Lógica complexa
  # Muitos aninhamentos
 
# Bom
def process_data(data):
  data = preprocess_data(data)
  result = perform_calculation(data)
  return result

Fase 5: Manutenção e Revisão

  1. Revisões de Código :
  • Realize revisões de código regulares para identificar problemas e melhorias.
  • Exemplo (Git):
  • Use ferramentas como o Git para colaboração e revisão de código.
  1. Mantenha a Consistência :
  • Siga as diretrizes de estilo e padrões de codificação da equipe.
  • Exemplo (JavaScript):
  • Use ferramentas como ESLint para garantir conformidade com padrões.

Fase 6: Documentação de Alto Nível

  1. Documentação do Projeto :
  • Mantenha uma documentação abrangente para o projeto, incluindo arquitetura e fluxos.
  • Exemplo (Markdown):
  • Use Markdown para criar documentação legível.

Fase 7: Integração Contínua e Implantação

  1. Integração Contínua (CI) :
  • Configure pipelines de CI para automatizar a execução de testes e implantação.
  • Exemplo (Jenkins, GitLab CI/CD):
  • Use ferramentas de CI/CD para automatizar o processo.

Fase 8: Monitoramento e Otimização

  1. Monitoramento de Desempenho :
  • Implemente ferramentas de monitoramento para acompanhar o desempenho do aplicativo.
  • Exemplo (Prometheus, Grafana):
  • Use ferramentas de monitoramento para análise.
  1. Otimização Contínua :
  • Identifique gargalos de desempenho e faça otimizações.
  • Exemplo (Node.js):
  • Perfis de código para identificar áreas lentas.

Markdown no Estilo do GitHub

Também adicionamos suporte para Markdown no estilo do GitHub usando remark-gfm.

Com o remark-gfm, obtemos algumas funcionalidades extras em nosso markdown. Por exemplo, os literais de autolink.

Um link como www.github.com ou https://estevamsouza.com seria automaticamente convertido em uma tag a.

Isso também funciona para links de e-mail: contact@e-mail.com .