Artigo no estilo Mentoring

Mentoring:A manutenção de um software compreende a maior parte de sua vida útil e também costuma ser mais trabalhosa do que o seu desenvolvimento. Portanto, um código mal escrito pode trazer muitos problemas durante o desenvolvimento de novas funcionalidades e manutenção de um software.

Neste contexto, este artigo é útil para a identificação de códigos mal escritos, que podem trazer problemas em tempo de manutenção, e também para a aplicação de refatoração nestes códigos, utilizando para isso alguns padrões de projetos e boas práticas.

Projetar e desenvolver um software de qualidade não é uma tarefa trivial. Muitos softwares levam incontáveis meses para serem desenvolvidos, gerando altos custos e jamais chegam a ser entregues. Um dos fatores mais comuns para o insucesso na criação de softwares é o código mal escrito, também conhecido como code smell.

Por isso, é importante que a equipe de desenvolvimento se preocupe desde o início do projeto em entregar um software de qualidade, de modo a evitar futuros problemas. No entanto, se um software é entregue com trechos de código mal escritos, ele fatalmente apresentará problemas em tempo de manutenção e até mesmo para o incremento de novas funcionalidades.

Neste ponto, o software pode tornar-se inviável, pois um código ruim tende a gerar mais código ruim, além de diminuir a produtividade no desenvolvimento. Este é o momento de identificar os pontos de código mal escrito e refatorá-los.

Para auxiliar e orientar os desenvolvedores neste processo, existem diversos padrões de projetos e boas práticas de programação que podem ser aplicados como base para a refatoração de códigos mal escritos. No entanto, antes de iniciar a refatoração de um código, deve-se levar em consideração qual a característica que torna o código ruim e avaliar qual o padrão ou boa prática que melhor se encaixa para refatoração de tal código.

Diante disso, o objetivo deste artigo é mostrar como identificar códigos mal escritos e como refatorar estes códigos utilizando padrões de projetos e boas práticas de programação.

Deste modo, durante o artigo serão mostrados exemplos de códigos mal escritos, a identificação do mesmo e a aplicação da refatoração, apresentando, por fim, os ganhos obtidos.

Padrões de Projeto

O foco principal deste artigo não é esmiuçar em detalhes os conceitos dos padrões de projetos. No entanto, é importante ter conhecimento das características dos padrões utilizados no decorrer do artigo, de modo que se possa tomar a decisão de qual padrão utilizar em determinadas situações.

Um padrão é composto basicamente por uma solução robusta para problemas comuns. Em outras palavras, um padrão é uma solução que pode ser facilmente adaptada para resolver problemas semelhantes, em diferentes contextos.

Existem basicamente duas maneiras de se utilizar padrões em um projeto de software. Uma delas é a utilização dos padrões já no momento em que o software está sendo projetado, ou seja, na modelagem do software, antes mesmo do código começar a ser escrito.

A outra opção, que será abordada neste artigo, é através da refatoração de código, onde os padrões são utilizados com o objetivo de eliminar trechos de código mal escritos, mas sem modificar seu comportamento.

O livro Design Patterns: Elements of Reusable Object-Oriented Software, da Gang of Four (vide BOX 1), lista vinte e três padrões de projetos, divididos em três categorias – padrões de projeto criacionais, padrões de projeto estruturais e padrões de projeto comportamentais.

Box 1. Gang of Four

Em 1994 os autores Erich Gamma, Richard Helm, Ralph Johnson e John Vlissides publicaram o famoso livro Design Patterns: Elements of Reusable Object-Oriented Software (Padrões de Projeto: Soluções Reutilizáveis de Software Orientado a Objetos) com o objetivo de conceituar alguns padrões de projeto para o desenvolvimento de softwares orientados a objetos. Depois disso, estes autores ficaram conhecidos como Gang of Four, ou ainda, GoF.

O livro busca documentar soluções recorrentes para tipos de problemas parecidos, que se agrupam em contextos semelhantes. Os vinte e três padrões abordados no livro estão divididos em três categorias: padrões criacionais, estruturais e comportamentais.

Padrões de Projeto Criacionais

Os padrões de projeto criacionais, como o próprio nome indica, são padrões utilizados para a criação de objetos. A ideia é separar a lógica de criação de modo que a mesma possa ser encapsulada e reaproveitada facilmente. A seguir são listados alguns exemplos de padrões de projeto criacionais:

· Abstract Factory;

· Builder;

· Factory Method;

· Prototype;

· Singleton.

Padrões de Projeto Estruturais

Os padrões de projeto estruturais focam na organização das classes e objetos de um sistema.

O propósito é evitar o alto ...

Quer ler esse conteúdo completo? Tenha acesso completo