Clean Code: Desenvolvimento com qualidade

Veja nesse artigo o uso das técnicas de Clean Code e os benefícios do modelo de domínio.

Fique por dentro
Este artigo é útil porque fornece algumas propostas para um melhor uso da orientação a objetos, a fim de que seja possível deixar o código menos acoplado, mais inteligente e limpo.

Também buscaremos apresentar aspectos dos modelos anêmico e de domínio, mostrando as principais diferenças na hora de optar por um deles.

A máxima popular afirma que para bom entendedor, meia palavra basta. Seguramente também poderíamos utilizá-la na nossa profissão e afirmar: para um bom programador, meio código basta. Quando o código é bem escrito, qualquer programador pode compreendê-lo sem grandes dificuldades e entende rapidamente a real função da implementação em questão.

Como diria Martin Fowler, “qualquer um pode escrever um código que o computador entenda. Bons programadores escrevem códigos que os humanos entendem”. Este é o verdadeiro desafio do desenvolvedor.

Neste contexto, o objetivo deste artigo, como o próprio título sugere, é propor aspectos que tornem o código mais claro, de modo que ele possa ser compreendido com facilidade por outros profissionais.

Para a criação de um código limpo nos termos de Robert C. Martin, torna-se necessário seguir algumas regras básicas. Segundo este autor, a possibilidade de um fácil entendimento e manutenção decorre do cumprimento de determinadas regras.

Existe uma significativa literatura referente ao tema código limpo. Neste artigo faremos comentários sobre o que é o código limpo e como alcançá-lo, através de um breve resumo baseado no livro Clean Code, de Robert C. Martin.

Neste livro, são descritas regras que definem, por exemplo, a nomenclatura adequada para classes, métodos e atributos, o correto uso dos comentários, a melhor formatação do código, o tratamento de erros e até mesmo testes unitários.

Martin, mais conhecido como Uncle Bob, é um grande nome na comunidade de desenvolvimento de software, trabalhando na área desde 1970. Fundador e presidente da Object Mentor Inc, é um dos 17 membros do Manifesto Ágil e publicou diversos artigos e livros sobre o assunto.

Contudo, não adianta apenas ter um código limpo e bem escrito, se o mesmo for aplicado a um modelo de domínio mal estruturado. Para resolver este problema serão abordadas as diferenças entre o modelo anêmico e o modelo de domínio.

Estes modelos são tipos de padrões que o programador poderá utilizar para o desenvolvimento das funcionalidades de seu respectivo projeto. Apesar disso, atualmente o modelo anêmico é considerado um anti-pattern, ou seja, ele é um anti-padrão. Como curiosidade, a maioria dos profissionais ainda insiste em utilizá-lo.

Com base nisso, neste artigo procuraremos expor algumas razões que confirmem as limitações deste modelo, e como alternativa, apresentaremos o modelo de domínio (domain model), que consiste numa visão e numa técnica para lidar tanto com os casos de domínios mais simples até os altamente complexos.

Para a definição correta do domínio, teremos como base o uso da prática do DDD, técnica criada por Eric Evans, autor do livro Domain-Driven Design e um líder nos estudos sobre design de software e modelagem de domínio. Assim, serão propostas algumas sugestões para que o desenvolvedor possa criar códigos claros, eficazes e de fácil compreensão para outros desenvolvedores.

Como anda o seu código?

Em primeiro lugar, devemos ter, de forma clara, a ideia do que se entende por código limpo (ver BOX 1). O código limpo não deve ser apenas desejável devido à sua organização, mas também pela facilidade com que outros profissionais poderão futuramente manuseá-lo.

Quando um código não está bom, ele só tende a piorar com o decorrer do tempo, pois o desenvolvedor que tiver de fazer alguma manutenção, possivelmente não o fará com tanta organização porque encontrou o trabalho inicial já desestruturado. É como o exemplo do carro com um dos vidros quebrados.

BOX 1. Código Limpo

Segundo Kent Beck, um dos integrantes do Manifesto Ágil, Código Limpo (Clean Code), de forma resumida, é o código fácil de entender, fácil de modificar e fácil de testar.

Foi realizada uma experiência nos Estados Unidos que consistia em deixar um carro trancado e com apenas uma das janelas quebradas numa esquina. Após alguns dias, o mesmo já possuía mais janelas quebradas. Ao longo de mais algumas semanas, o carro já estava todo amassado e depenado.

Para comparação, outro carro foi deixado no mesmo local, só que dessa vez sem problema algum. Este automóvel permaneceu assim por semanas e ao final da experiência, nenhum dano lhe foi causado.

Com este exemplo queremos dizer que as pessoas têm zelo por aquilo que está arrumado, que está sob bons cuidados. O mesmo acontece com o código.

Quando o desenvolvedor escreve-o de qualquer forma, ou seja, sem nenhum padrão, os outros profissionais que posteriormente manusearem seu código irão danificá-lo ainda mais. Em outras palavras, o profissional tende a perpetuar uma desestruturação já existente. " [...] continue lendo...

Artigos relacionados