Código Bom🙂, Código Ruim😖
Bing image creator

Código Bom🙂, Código Ruim😖

Fala time, estou lendo atualmente alguns livros sobre Gestão, códigos e arquitetura.

Por isso hoje quero falar sobre códigos, quando você escreve códigos em qualquer linguagem que você tenha proficiência é possível que você esteja escrevendo código bom e também ruim.

Calma eu sei que está funcionando se não você provavelmente estaria tentando resolver o dia todo e talvez até virando a noite mas, eu sei que está lendo aqui e não está tão ruim assim rsrs.

No mundo da engenharia de software existem práticas e padrões que dão uma direção sobre o que é bom ou ruim para a leitura e entendimento e as vezes para o funcionamento. Quando falo em funcionamento quero dizer que se você fizer um método de 300 linhas que faz tudo que deveria e fizer o mesmo método segregado por responsabilidade, intenção, com interfaces, etc.. eles vão funcionar da mesma maneira, então o que muda? O que muda é que o Severino que pegar um bug e precisar mexer na primeira forma que expliquei vai provavelmente levar mais tempo para tentar resolver do que o Severino-2 que pegar o que está separado para dar manutenção, explico. Para o primeiro cenário é muito mais fácil se perder pois vamos tirar um trecho de exemplo, o programador declarou a variável "int PontoDeApoio" na linha 3, durante seu desenvolvimento essa variável foi alterada diversas vezes no meios das 300 linhas, só que lá no final perto de retornar o resultado do método a variável recebeu "PontoDeApoio = PontoDeApoio + 6" e de repente você viu que o valor não era o esperado, pô Berg mais aí é fácil, o valor vai depender das iterações que ela teve, exatamente isso, você terá que percorrer todo o código de novo fazendo o debug para achar no meio onde está o problema, o que leva mais tempo e depois mais tempo e assim por diante.

Agora vamos para o cenário do Severino-2 está boa parte do método separada com suas responsabilidades e intenção. Enfrentamos o mesmo problema, mas agora a variável "PontoDeApoio" não é mais uma variável e sim um método "CuidaPontoDeApoio" que contém todas aquelas regras que estavam espalhadas ou seja toda a responsabilidade do método é só cuidar do valor de "PontoDeApoio", até a explicação aqui fica mais fácil, rsrs. Eu sei que a base de código é viva e vai acontecer de fazermos tudo em um lugar simplesmente por ser mais fácil e vai funcionar, e está tudo bem. Só que no futuro você mesmo pode pegar para ajustar algo e qual das estratégias você preferiria atuar? Abaixo alguns tópicos para fixar na memória, porque no final das contas precisamos entender o que outro ser humano criou.

Bom código

É sustentável: acima de tudo, isso significa que o código pode ser facilmente lido e compreendido. A manutenção consiste em corrigir bugs, adicionar recursos e se adaptar às mudanças externas. Para fazer qualquer uma dessas coisas, você precisa saber como o código funciona.

Tem um estilo claro e conciso: Um bom código não é inteligente. É direto e fácil de entender. Não requer um doutorado. em ciência da computação para compreender.

Tem uma intenção clara e bem definida: o código deve ser fácil de entender e não exigir muitas suposições. Deve ficar claro o que o código pretende fazer e como deve ser usado.

Possui dependências mínimas: um bom código não possui dependências estranhas entre classes. É independente e fácil de testar.

Código ruim

É complicado: código incorreto costuma ser inteligente e tenta fazer muitas coisas ao mesmo tempo. É como tentar construir um arranha-céu em areia movediça.

É difícil de manter: Código incorreto é difícil de entender e modificar. É como tentar consertar um quebra-cabeça com peças faltando.

Tem intenção pouco clara: código incorreto geralmente tem intenção pouco clara ou confusa. É como tentar ler uma receita escrita em uma língua estrangeira.

Possui muitas dependências: códigos incorretos geralmente possuem dependências interligadas entre classes. É como tentar desembaraçar um nó.

Em resumo, a diferença entre um código bom e um código ruim é como a diferença entre um edifício seguro e um edifício inseguro. Um bom código é bem estruturado, fácil de entender e de fácil manutenção, enquanto um código ruim é complicado, difícil de entender e difícil de modificar.


Por hoje é isso, pessoal. Espero que tenham gostado e abaixo seguem algumas referências para nos aprofundarmos no assunto 😃 Até segunda que vem!

Para conferir mais vai em BergNews

Entre para ver ou adicionar um comentário

Outros artigos de 💻Paulemberg Silva

  • Resolva Primeiro

    Resolva Primeiro

    Em qualquer atividade, devemos sempre entregar o nosso melhor. Às vezes, esse "melhor" pode não ser o ideal para a…

    1 comentário
  • Migrando Sistemas

    Migrando Sistemas

    A migração de sistemas é sempre um risco para todos: o sistema, os mantenedores deste sistema e, principalmente, o…

  • A Evolução de um Produto e a Recusa de Ajuda em Engenharia de Software

    A Evolução de um Produto e a Recusa de Ajuda em Engenharia de Software

    Na jornada de desenvolvimento de software, a evolução de um produto é frequentemente uma trajetória complexa e…

  • Explorando o Mundo Assíncrono em C#: Um Guia Completo sobre async/await

    Explorando o Mundo Assíncrono em C#: Um Guia Completo sobre async/await

    Na programação moderna, especialmente no desenvolvimento de aplicativos e sistemas distribuídos, a execução assíncrona…

  • Grafos: Desvendando as Conexões Complexas

    Grafos: Desvendando as Conexões Complexas

    Introdução: Os grafos são uma estrutura de dados poderosa para representar e analisar conexões complexas em diversos…

  • Árvores: Uma Estrutura de Dados Hierárquica

    Árvores: Uma Estrutura de Dados Hierárquica

    Introdução: As árvores são uma estrutura de dados fundamental na ciência da computação. Elas são usadas para armazenar…

  • Arrays: Explorando a Estrutura de Dados Essencial

    Arrays: Explorando a Estrutura de Dados Essencial

    Introdução: Arrays, ou vetores, são uma das estruturas de dados mais básicas e importantes na ciência da computação…

    2 comentários
  • Explorando o Conceito de Pilhas

    Explorando o Conceito de Pilhas

    Hoje vamos ver um pouco sobre Pilhas e suas aplicações, esse é o segundo assunto da série sobre estrutura de dados…

    1 comentário
  • Novidade

    Novidade

    Boa tarde pessoal abaixo vou deixar o artigo que enviei na NewsLetter que envio toda segunda-feira e que também pode…

  • Aprimorando a Produtividade no Desenvolvimento de Software: Integrando Refatoração Inteligente

    Aprimorando a Produtividade no Desenvolvimento de Software: Integrando Refatoração Inteligente

    Na busca contínua pela excelência no desenvolvimento de software, a refatoração emerge como uma ferramenta poderosa…

    1 comentário

Outras pessoas também visualizaram

Conferir tópicos