Aula 165: Princípios de Código Limpo
Um código limpo é essencial no desenvolvimento de software, pois melhora a legibilidade, a manutenção e a colaboração entre os desenvolvedores. Nesta aula, vamos discutir alguns princípios fundamentais do código limpo e fornecer exemplos em Swift para demonstrar sua aplicação.
1. Nomes Significativos
Use nomes descritivos e significativos para variáveis, funções e classes. Essa prática ajuda os outros (e você mesmo no futuro) a entenderem o propósito do seu código.
// Nome ruim
func a() {
let x = 10
let y = 20
return x + y
}
// Nome bom
func adicionarNumeros(primeiroNumero: Int, segundoNumero: Int) -> Int {
return primeiroNumero + segundoNumero
}
2. Funções Devem Fazer Uma Só Coisa
Cada função deve realizar uma única tarefa. Esse princípio não apenas torna as funções mais fáceis de entender, mas também simplifica a depuração e os testes.
// Função ruim
func criarRelatorio() {
buscarDados()
formatarDados()
imprimirRelatorio()
}
// Funções boas
func buscarDados() {
// código para buscar dados
}
func formatarDados() {
// código para formatar dados
}
func imprimirRelatorio() {
// código para imprimir relatório
}
3. Mantenha Suas Funções Curtas
Funções curtas são mais fáceis de ler e entender. Tente limitar a um máximo de 20 linhas de código por função.
// Função longa
func processarPedido(pedido: Pedido) {
// código para validar pedido
// código para calcular total
// código para processar pagamento
// código para gerar fatura
}
// Funções mais curtas são melhores
func validarPedido(pedido: Pedido) -> Bool {
// código para validar
}
func calcularTotal(pedido: Pedido) -> Double {
// código para calcular
}
func processarPagamento(pelo pedido: Pedido) {
// código para processar pagamento
}
func gerarFatura(pelo pedido: Pedido) {
// código para gerar fatura
}
4. Use Comentários Com Moderação
Um bom código deve ser autoexplicativo. Use comentários para explicar por que algo é feito, e não o que é feito.
// Comentário ruim
// Esta função soma dois números
func somar(a: Int, b: Int) -> Int {
return a + b
}
// Comentário bom
// Usando essa abordagem para lidar com possível estouro de inteiro
func somarComSegurança(a: Int, b: Int) -> Int {
guard let soma = a.adicionandoReportandoEstouro(b).valorParcial else {
return 0 // Lidar com caso de estouro
}
return soma
}
5. Evite Números Mágicos
Substitua "números mágicos" por constantes nomeadas. Isso aumenta a clareza e facilita a mudança de valores no futuro.
// Prática ruim
let area = 3.14 * raio * raio
// Boa prática
let pi = 3.14
let area = pi * raio * raio
6. Use Indentação e Espaçamento Adequados
Um formatação adequada do código torna-o mais legível. Use indentação e espaçamento consistentes.
// Código mal formatado
if (x > 10) {
print("x é maior que 10")
}
// Código bem formatado
if x > 10 {
print("x é maior que 10")
}
7. DRY (Não Repita)
Evite duplicação de código. Se você se pegar repetindo código semelhante, considere refatorá-lo em uma função.
// Prática ruim
func calcularAreaDeCirculo(raio: Double) -> Double {
return 3.14 * raio * raio
}
func calcularAreaDeQuadrado(lado: Double) -> Double {
return lado * lado
}
// Boa prática
let pi = 3.14
func calcularArea(do forma: String, com dimensao: Double) -> Double {
switch forma {
case "círculo":
return pi * dimensao * dimensao
case "quadrado":
return dimensao * dimensao
default:
return 0
}
}
Conclusão
Seguir os princípios do código limpo torna sua base de código mais gerenciável e menos propensa a erros. Ao usar nomes significativos, escrever funções curtas, comentar de forma inteligente, evitar números mágicos, aplicar formatação consistente e seguir o princípio DRY, você pode melhorar significativamente a qualidade do seu código em Swift. À medida que você pratica esses princípios, descobrirá que suas habilidades de programação se tornarão mais afiadas e sua colaboração com os outros será mais eficaz.