domingo, 29 de junho de 2008

Qualidade!? O que é isso!?

Na passada sexta-feira, 27-06-2008, eu estive presente a um evento na Microsoft sobre Qualidade e Rapidez no Desenvolvimento de Soluções, que faz parte do Ciclo Application Lifecycle Management. Em um dos temas apresentados, nomeadamente, A qualidade no Desenvolvimento de Softaware, cuja a 'vedeta' principal era o VS 2008, um dos recursos abordados foi o Code Analysis e, foi aqui que eu fiquei completamente estarrecido! Imaginem que, em um auditório com mais de cem pessoas - sem medo de errar - uma pergunta foi 'lançada': 'Quem conhece a 'ferramenta' Fxcop?' Sinceramente, nem mesmo umas dez pessoas levantaram o dedo :-(
Eu conheço o Fxcop desde a sua primeira versão, lançada em 2002 e, trata-se de uma ferramenta para Análise de Código, chamado, estático. Ela foi aperfeiçoada e, junto com a ferramenta Code Metrics, foi incorporada ao VS 2008.

E, eu insisto, 'não existe Rapidez sem Qualidade'. E, deixo aqui uma pergunta: 'Qual é Qualidade do Softaware desenvolvido em Portugal?'.


Até ao próximo post!


Fernando Oliveira
Agap2 Developer
MCTS - .NET Framework 2.0
Web Applications

4 comentários:

Luís de Sousa disse...

Viva Fernando,

eu utilizo com Frequência o FXCop nos novos desenvolvimentos que eu tenho de fazer.

Imagina que tens uma codebase enorme, em que nunca o FXCop foi corrido. Se o executares o que vai acontecer, quase de certeza absoluta ? :)

Em termos de .NET, o FxCop é o minimo que se pode fazer, para tentar garantir alguma qualidade do código.

Relembro que o FxCop é uma ferramenta de análise estática do código, ela valdida um conjunto de regras que devem de ser seguidas durante o desenvolvimento de componentes .NET.

Há muitas mais às quais devíamos de dar atenção, nomeadamente aos SLOC, e à Cyclomatic Complexity do código produzido . . . mas há mais, muito mais.

À pergunta, respondo com outra pergunta, para nós conseguirmos quantificar a qualidade de um produto, temos de ter uma maneira de recolher dados, através de medições adequadas.

Como é que estamos a "medir" o nosso código ?

Fernando Oliveira disse...

Antes de mais, obrigado Luís por não deixar os posts transformarem-se em um monólogo :| Precisamos 'evangelizar' o blog junto aos nossos colegas.
Tens toda a razão quando refere-se ao '...mínimo...'. E foi exactamente por isso que fiquei um bocado preocupado em constatar que, nem o 'mínimo', a maioria das pessoas naquele auditório, estão a fazer.
Quanto à questão, eu penso ser um bocado subjectivo falarmos em 'medir'. No entanto, existem, como tu mesmo já referiste, n maneiras de, no 'mínimo', atingirmos algo, digamos, aceitável - aqui podemos continuar a discutir o que seja aceitável :-)- Penso que se aplicarmos as melhores práticas, utilizarmos padrões no desenvolvimento, e o trabalho de análise de código com a ajuda de ferramentas básicas como o Fxcop irá proporcionar ao desenvolvimento de aplicações/softwares resultados bastante satisfatórios.

Anarud disse...

Antes de tudo, permitam-me apresentar-me: chamo-me Hugo e sou novo na Agap2, também na área MSFT.

Pegando no que ambos dizem, aqui lanço os meus bitaites:

Em jeito de resposta ao Luís, como é que estamos a medir o nosso código? Na minha opinião, não medimos. E infelizmente, por circunstância dos projectos pouco ou nenhum tempo existe para de facto produzir código como ele deve ser produzido.

Mas sou também defensor acérrimo da ideologia que as coisas devem ser feitas da melhor maneira possível.

Agora esta para o Fernando:
De facto, o blog deve ter mais visibilidade entre todos os consultores de MSFT na Agap2. Eu só recentemente me deparei com ele.

Quanto aos temas até agora abordados, considero-os ser de grande utilidade. No entanto, faço as seguintes sugestões em termos de áreas a abordar:

- Melhores práticas.
- Utilização de padrões de desenho com exemplos práticos.
- Convenções de código (Algo que a meu ver, com algum tempo e evangelização q.b, se pode e deve implementar na Agap2).

Desculpem o post tão comprido mas de facto são algumas ideias que tenho.

Em jeito de fim, este blog podia fazer parte de uma micro-MSDN para a Agap2. Quem sabe se tal coisa não se consegue? :P

Um abraço para ambos.
Hugo.

Anónimo disse...

Viva, encontrei este blog à relativamente pouco tempo e tenho andado a ler os posts lentamente. Sei que este post é já antigo mas mesmo assim vou deixar o meu comentário. A qualidade de software é algo que penso ser bastante importante e por isso para além do FXCop que analisa os assemblies penso ser importante salientar a a existência do StyleCop que analisa o source code. Penso que esta ferramenta é importante pelo facto de considerar que a qualidade de código assenta também num bom estilo de código, com coisas tão simples como a utilização de comentários.