image

Acesse bootcamps ilimitados e +650 cursos pra sempre

60
%OFF
Rafael Vicente
Rafael Vicente26/08/2025 09:15
Compartir

"Orientação a Objetos e Clean Code em Projetos .NET: Como Escrever Código Simples e Fácil de Manter"

  • #.NET

🧹 Orientação a Objetos e Clean Code em Projetos .NET

🔹 Introdução

No desenvolvimento de software, especialmente no back-end com .NET, é comum encontrarmos projetos que crescem rápido e se tornam difíceis de manter. Isso geralmente acontece por falta de organização no código.

Dois pilares ajudam a evitar esse problema: Programação Orientada a Objetos (POO) e Clean Code.

Enquanto a POO fornece uma forma de estruturar o sistema em classes e objetos, o Clean Code traz princípios que deixam o código legível, simples e de fácil manutenção.

Neste artigo, vamos ver como aplicar esses conceitos juntos em um pequeno exemplo prático com C#.

🔹 Revisão Rápida de POO

A Programação Orientada a Objetos se baseia em quatro pilares principais:

  1. Encapsulamento → proteger os dados de acesso direto, expondo apenas o necessário.
  2. Herança → reaproveitar código criando hierarquias de classes.
  3. Polimorfismo → permitir que métodos tenham comportamentos diferentes dependendo do contexto.
  4. Abstração → focar no que importa, escondendo detalhes de implementação.

Esses conceitos ajudam a criar sistemas mais organizados e reutilizáveis.

🔹 O que é Clean Code?

O conceito de Clean Code foi popularizado por Robert C. Martin (“Uncle Bob”).

O objetivo é simples: escrever código que seja fácil de ler e manter.

Alguns princípios importantes:

  • Nomes claros para classes, métodos e variáveis.
  • Métodos curtos que fazem apenas uma coisa.
  • Evitar duplicação de código.
  • Organização em camadas ou responsabilidades.

🔹 Exemplo Prático em .NET (C#)

Imagine que precisamos criar um sistema de cadastro de produtos.

Primeiro, um exemplo de código sem POO e sem Clean Code:

using System;
using System.Collections.Generic;

class Program
{
  static void Main()
  {
      List<string> produtos = new List<string>();
      produtos.Add("Mouse,50");
      produtos.Add("Teclado,100");

      foreach (var p in produtos)
      {
          var dados = p.Split(",");
          Console.WriteLine($"Produto: {dados[0]}, Preço: {dados[1]}");
      }
  }
}

Esse código funciona, mas tem problemas:

  • Produto representado como string (frágil e difícil de manter).
  • Preço armazenado sem tipo adequado.
  • Nenhum encapsulamento ou clareza.

✅ Refatorando com POO e Clean Code

Agora vamos aplicar os conceitos:

using System;
using System.Collections.Generic;

// Classe Produto aplica encapsulamento
public class Produto
{
  public string Nome { get; private set; }
  public decimal Preco { get; private set; }

  public Produto(string nome, decimal preco)
  {
      Nome = nome;
      Preco = preco;
  }

  public void ExibirInfo()
  {
      Console.WriteLine($"Produto: {Nome}, Preço: {Preco:C}");
  }
}

// Classe responsável pela lógica de cadastro
public class CadastroProduto
{
  private readonly List<Produto> _produtos = new();

  public void AdicionarProduto(Produto produto)
  {
      _produtos.Add(produto);
  }

  public void ListarProdutos()
  {
      foreach (var produto in _produtos)
      {
          produto.ExibirInfo();
      }
  }
}

// Programa principal
class Program
{
  static void Main()
  {
      var cadastro = new CadastroProduto();
      cadastro.AdicionarProduto(new Produto("Mouse", 50m));
      cadastro.AdicionarProduto(new Produto("Teclado", 100m));

      cadastro.ListarProdutos();
  }
}

🔍 O que melhorou?

  • Encapsulamento: Produto agora tem propriedades seguras (Nome e Preco).
  • Clean Code: nomes claros (AdicionarProduto, ListarProdutos).
  • Separação de responsabilidades:
  • Produto representa os dados.
  • CadastroProduto cuida da lógica de cadastro.
  • Program apenas executa.

Resultado: um código mais legível, reutilizável e fácil de dar manutenção.

🔹 Conclusão

A combinação de POO e Clean Code em projetos .NET não é apenas uma boa prática, é um diferencial profissional.

Quando escrevemos código limpo e orientado a objetos, estamos pensando não só em nós mesmos, mas também em quem vai ler e dar manutenção no sistema no futuro.

O exemplo que vimos é simples, mas reflete situações do dia a dia no back-end: sistemas de cadastro, APIs e serviços que precisam ser claros e organizados.

👉 Próximos passos:

  • Explorar interfaces e injeção de dependência no .NET.
  • Estudar princípios SOLID para elevar ainda mais a qualidade do código.
  • Praticar Clean Code em projetos reais, refatorando códigos existentes.

"Aprender a programar é fácil, o desafio é escrever código que você e outros desenvolvedores terão prazer em manter amanhã."

Compartir
Recomendado para ti
Ri Happy - Front-end do Zero #2
Avanade - Back-end com .NET e IA
Akad - Fullstack Developer
Comentarios (1)
DIO Community
DIO Community - 26/08/2025 10:16

Excelente artigo, Rafael! Você conseguiu mostrar de forma prática e acessível como POO e Clean Code se complementam no desenvolvimento back-end com .NET. O contraste entre o primeiro exemplo (sem encapsulamento e legibilidade) e a versão refatorada deixa claro como pequenas escolhas de arquitetura tornam o código mais seguro, reutilizável e fácil de manter.

Na DIO acreditamos muito nesse tipo de prática, porque ela prepara o desenvolvedor para trabalhar em times grandes e em sistemas que vão crescer com o tempo. Usar POO como base estrutural e Clean Code como guia de legibilidade é exatamente o que diferencia o código que apenas funciona daquele que é profissional e sustentável.

Quero te perguntar: olhando para próximos passos, você acha que o maior ganho para quem já domina POO e Clean Code em .NET vem de aplicar princípios SOLID de forma mais avançada ou de adotar práticas modernas como injeção de dependência e testes automatizados logo cedo?