Sobes.tech
Junior — Middle

Quais são os princípios fundamentais de desenvolvimento de software que você aplica no seu trabalho?

sobes.tech IA

Resposta da IA

Princípios principais do desenvolvimento de software que aplico:

  • Código limpo: escrevo código que é fácil de ler e manter, usando nomes claros para variáveis e funções.
  • Princípio da responsabilidade única (SRP): cada função ou módulo é responsável por uma única tarefa.
  • DRY (Não te repitas): evito duplicação de código, extraindo partes repetitivas para funções ou pacotes.
  • Testabilidade: escrevo testes unitários para componentes-chave para garantir fiabilidade.
  • Idempotência e tratamento de erros: trato corretamente erros e exceções para que a aplicação não falhe.
  • Uso de interfaces: para abstração e facilitar a substituição de implementações.

Exemplo em Go demonstrando o princípio da responsabilidade única e o uso de interfaces:

package main

import "fmt"

type Notifier interface {
    Notify(message string) error
}

type EmailNotifier struct {}

func (e EmailNotifier) Notify(message string) error {
    fmt.Println("Enviando email com mensagem:", message)
    return nil
}

func SendAlert(n Notifier, msg string) {
    err := n.Notify(msg)
    if err != nil {
        fmt.Println("Erro ao enviar notificação:", err)
    }
}

func main() {
    email := EmailNotifier{}
    SendAlert(email, "Servidor está fora do ar!")
}

Este método facilita a manutenção e expansão do código.