C++:
Organizando o código em funções

Como fazer:

Vamos pegar uma tarefa comum: calcular a área de um círculo. Em vez de escrever a mesma fórmula todas as vezes, encapsulamos ela em uma função.

#include <iostream>
#define PI 3.14159

double calculateCircleArea(double radius) {
    return PI * radius * radius;
}

int main() {
    double r = 5.0;
    std::cout << "Área do círculo com raio " << r << " é " << calculateCircleArea(r) << std::endl;
    return 0;
}

Saída de exemplo:

Área do círculo com raio 5 é 78.5397

Aprofundamento

Historicamente, procedimentos e funções foram o alicerce da programação estruturada, promovida na década de 1960 para combater os problemas do “código espaguete” em linguagens de programação imperativas anteriores. Alternativas como OOP (Programação Orientada a Objetos) avançam mais ao associar essas funções com estruturas de dados. Em C++, temos funções regulares, métodos de classe (incluindo métodos estáticos), lambdas e funções de templates, cada um oferecendo benefícios diferentes. Implementar funções bem organizadas geralmente envolve aderir a princípios como DRY (“Don’t Repeat Yourself”) e SRP (Princípio da Responsabilidade Única), o que significa que cada função faz apenas uma coisa e faz bem feito.

Veja Também

Para mais sobre funções em C++:

Para princípios de design relacionados a funções:

Saiba mais sobre lambdas e uso avançado de funções: