Arquivo por Autor

Como medir a coesão do seu código? A métrica LCOM

Postado em 23. jan, 2013 por .

5

Aqui no blog da Caelum já discutimos métricas como complexidade ciclomática e acoplamento, e chegamos em maneiras quantitativas de medi-las. Agora, uma boa pergunta é: como medir coesão? Mais claramente, como chegar em um número que diz o quão coesa uma classe é? Vamos estudar novamente o que é coesão. Sabemos que uma classe deve more »

Continue Lendo

Orientação a objetos: uma outra perspectiva sobre o acoplamento

Postado em 24. out, 2012 por .

30

Todo mundo que já viu orientação a objetos alguma vez na vida conhece a frase “classes devem ter alta coesão e baixo acoplamento“. Uma classe altamente acoplada pode ser sim um problema. Veja o diagrama abaixo, por exemplo, onde temos a classe GerenciadorDeNotaFiscal, que depende de outras 3 classes: um DAO, uma classe que envia more »

Continue Lendo

Acesse todos os cursos online da Caelum com a nova Assinatura Semestral

Postado em 16. ago, 2012 por .

6

Há quase 1 ano, lançamos nossa plataforma de cursos online. Desde então, milhares de alunos se cadastraram, estudaram através dos mais de 15 cursos disponíveis, e enviaram mais de 30 mil mensagens no fórum. E, até então, você tinha a difícil tarefa de escolher qual curso fazer dentre tantas opções. Por isso, lançamos a assinatura more »

Continue Lendo

Revisitando a Orientação a Objetos: encapsulamento no Java

Postado em 14. jun, 2012 por .

32

Façamos uma aposta. Tenho certeza que você, ao ver a classe abaixo, consegue perceber um problema nela: Sim. Os atributos estão todos públicos! Isso vai exatamente contra uma das nossas primeiras lições quando aprendemos Java: atributos devem ser privados e precisamos de getters e setters para acessá-los. Vamos então fazer essa mudança no código. Agora more »

Continue Lendo

Medindo a complexidade do seu código

Postado em 01. mar, 2012 por .

44

Sabemos que um dos grandes vilões na hora de mantermos um sistema legado são os trechos de código difíceis ou complicados de entender. Todo programador já se deparou com (ou mesmo escreveu!) códigos com péssimos nomes de variáveis ou muitas linhas de código em um único método, sem contar o excesso de responsabilidade. Mas, sem more »

Continue Lendo

Facilitando a manutenção dos testes ao diminuir o acoplamento com o código

Postado em 01. mar, 2011 por and .

14

É fácil entender por que devemos diminuir o acoplamento entre classes: a alteração em um ponto do sistema pode propagar a necessidade de mudanças em outros. Dependendo do acoplamento, uma simples alteração exige um esforço enorme. Em alguns casos as mudanças não são feitas, e a funcionalidade é simplesmente descartada, devido a esse alto custo more »

Continue Lendo

TDD e sua influência no acoplamento e coesão

Postado em 17. fev, 2011 por and .

21

Escrever testes de unidade é uma prática cada vez mais adotada. Ela ajuda a verificar se tudo funciona como o esperado mesmo após mudanças, trazendo mais segurança para a equipe ao alterar o código. Mas os testes de unidade vão além, possibilitando a validação de um design. Um código fácil de testar tende a apresentar um bom design. more »

Continue Lendo

Perdendo ou ganhando tempo com testes de unidade

Postado em 10. dez, 2010 por .

17

Durante as aulas e palestras sobre TDD e testes de software é bem comum ouvir perguntas relativas a “o que deve ser testado e o que não precisa ser testado”. Geralmente os exemplos inicials que encontramos na literatura sobre TDD são muito simplistas, nos levando a crer que devemos testar todo e qualquer método de more »

Continue Lendo

Baby step e design

Mudanças simples x Soluções simples

Postado em 18. nov, 2010 por .

3

O processo de entrega de uma funcionalidade nova envolve implementar ou corrigir algo que o nosso sistema atualmente não comporta. Dados os problemas que o programa resolve nesse instante, existem diversas maneiras distintas de resolvê-los, todas válidas, algumas mais limpas e mais simples do que outras. O gráfico a seguir mostra uma situação onde nosso more »

Continue Lendo

Prática: Evite influenciar estimativas: estime até mesmo as histórias mais simples

Postado em 05. nov, 2010 por .

1

Sintoma: Durante a estimativa de estórias do backlog, ao aparecer uma estória razoavelmente clara ou simples, um desenvolvedor (geralmente mais experiente) toma a palavra antes de estimar: “Essa história tem 3 pontos. Pode ser? Todo mundo concorda, não é?” Problema: Ao fazer isso, o desenvolvedor acaba enviesando a estimativa dessa estória. Frases como essa durante more »

Continue Lendo