Arquivo

Archive for Julho, 2010

Noções de Scrum e avaliação gratuita

Boa noite rapaziada.

Estava pesquisando na internet sobre Scrum e encontrei ótimos links para quem quer estudar este assunto.

Ultimamente estamos ouvindo muito a palavra Scrum, é sempre o principal assunto quando falamos de contratos, processos, metodologias. E para quem ainda não estudou Scrum segue abaixo uma definição de acordo com o “Scrum Guide”.

Scrum não é um processo ou uma técnica para o desenvolvimento de produtos. Ao invés disso, é um framework dentro do qual você pode empregar diversos processos e técnicas. O papel do Scrum é fazer transparecer a eficácia relativa das suas práticas de desenvolvimento para que você possa melhorá-las, enquanto provê um framework dentro do qual produtos complexos podem ser desenvolvidos.”

Guia do Scrum  – Scrum Guide

No link abaixo, diretamente do site oficial www.scrum.org, você poderá fazer download do “Scrum Guide” em português. Este pdf é um conteúdo obrigatório para quem deseja estudar o assunto. Ele abrange toda a teoria do Scrum em apenas 22 páginas.

http://www.scrum.org/storage/scrumguides/Scrum%20Guide%20-%20PTBR.pdf#view=fit

Avaliação de Scrum gratuita Scrum Open Assessment

Neste próximo link você poderá, também no site oficial, fazer uma prova e testar seus conhecimentos sobre Scrum.

De acordo com o site, muitas pessoas utilizam esta prova como preparação para a certificação “Scrum Master Professional”. A prova é constituída de 50 questões e pontuação mínima de aprovação é de 75% e o tempo médio para completar a prova é de 23 min.

http://www.scrum.org/scrumopenassessment

Eu irei estudar e fazer a prova, assim que eu passar irei postar um artigo com algumas dicas para a prova.

Fonte: www.scrum.org – oficial site

Até mais pessoal, espero que o post tenha sido útil.

Francisco Gonçalves

Categorias:Scrum

Dando uma olhada no Code Metrics

Salve, Salve, Salve pessoal! To gripado.

Hoje eu vou falar sobre o “Code Metrics”.

O Code Metrics é uma ferramenta do Visual Studio que calcula e exibe relatórios no que diz respeito a métricas de código. O Code Metrics por si só, pode ajudar o desenvolvedor revelando informações muito uteis como por exemplo quantidade de linhas de código e a sua complexidade.

Junto com o Code de Analisys você terá a ferramenta perfeita para melhorar tomar decisões sobre performance, manutenibilidade e complexidade de código.

 Vamos ao que interessa.

Para acessar a janela de cálculo do Code Metrics entre no menu Analyze. Duas opções permitem você entrar na tela de calculo do code metrics, “Calculate Code Metrics for …” e  “Calculate Code Metrics for Solution”. A primeira opção permite você crie um relatório calculado com base em um projeto selecionado e a segunda opção cria um relatório calculado com base na solution.

 

Abaixo temos um print da janela do code metrics com alguns resultados.

Segue abaixo informações sobre cada índice.

Maintainability Index

O “índice de Manutenibilidade” é calculado utilizado a partir das seguintes métricas.

– Linhas de código.

– Volume do programa. É a medida da dificuldade de compreensão baseado no número de operadores e operandos no código

– Complexidade Ciclomatica.

Quando o índice de Manutenibilidade não se aplica. Quando seu método tem apenas um switch(select no VB) com vários case. Ou quando não se pode dividir o método.

Cyclomatic Complexity*¹ : A complexidade ciclomatica mede o número de fluxos independentes através do método determinadas através do número número de ramificações condicionais.

A fórmula de cálculo encontrada no MSDN é a seguinte: Cyclomatic Complexity = nº arestas – nº nós +1

aresta: linha entre nós.

nós: ponto de ramificação lógica.

Complicado né? Para simplificar podemos pensar da seguinte forma. Cyclomatic Complexity = nº (if, while, do, case no switch(select VB))

Exemplos : http://msdn.microsoft.com/en-us/library/ms182212.aspx

Quando a complexidade Ciclomática não se aplica: Quando seu método tem apenas um switch(select no VB) com vários case. Ou quando não se pode dividir o método.

Depth of Inheritance: O índice de profundidade da herança indica a quantidade de níveis em profundidade a partir de um nó raiz.

Quando mais heranças maior a dificuldade de manter o método.

De acordo com o Visual Studio utilize no máximo quatro níveis de herança.

Class Coupling: O índice de “Classes acopladas” é calculado a partir da somatória de classes altamente acopladas e de diferentes referencias utilizadas em seu código.

Lines of code:  Este é o índice mais fácil de ser identificado. A contagem de linha de código é baseada a partir do código “IL”, por isso a numeração que aparece nem sempre é a mesma que você esta vendo no código.

Você ainda pode gerar relatórios com esta ferramenta clicando no ícone do Excel na barra superior da janela do Code Metrics.

Espero que vocês tenham gostado do artigo, que o mesmo tenha sido prático e desculpem a escrita anasalada.

Para mais informações acesse o meu outro artigo. Utilizando o Code Analisys – Maintainability Rules

Fonte: http://msdn.microsoft.com/en-us/library/bb385914.aspx

Francisco Gonçalves

Categorias:Code Metrics

Utilizando o Code Analisys – Maintainability Rules

Salve, Salve galerinha.

Conforme prometido no artigo anterior, estou postando uma explicação para um grupo de regras.

O grupo escolhido é “Maintainability Rules” ou “Regras de Manutenibilidade”.

Na minha opinião, as “Regras de Manutenibilidade” são as mais importantes e interessante que encontramos no Code Analysis. Com elas você poderá verificar a complexidade do código, verificar quais códigos são difíceis de dar manutenção ou qual deles dificultam leitura.

Segue abaixo uma tabela com as informações mais importantes.

CheckId Descrição Explicação Índice no Code Metrics
CA1500 Variable names should not match field names Nomes de variáveis da classe não devem coincidir com nomes de parâmetros.  
CA1501 Avoid excessive inheritance Evite o excesso de heranças. No máximo, utilize 4 níveis na hierarquia.  
CA1502 Avoid excessive complexity Evite o excesso de complexidade Cyclomatic Complexity
<= 25 : Aceitável
CA1504 Review misleading field names Nomenclatura de campos dificultam a leitura. Como:  Instancias de classe e variáveis não static (Shared VB) não devem começar com “s_”. Instancias de classe e variáveis static(Shared VB) não devem começar com “m_”.  
CA1505 Avoid unmaintainable code Evite código com baixo índice de manutenibilidade. Tente dividi-lo em um número maior de métodos específicos. Maintainability Index (MI)
0~10 : Ruim 
10~20: Moderada 
  >=20: Boa manutenibilidade
CA1506 Avoid excessive class coupling Evite o excesso associação de classes com tipos e namespaces diferentes. Procure utilizar tipos e métodos com um baixo grau de acoplamento. Class Coupling
>= 40: Ruim; 
40~30: Moderada; 
<= 30: Boa manutenibilidade

 

Informações adicionais

Cyclomatic Complexity*¹ : A complexidade ciclomatica mede o número de fluxos independentes através do método determinadas através do número número de ramificações condicionais.

A fórmula de cálculo encontrada no MSDN é a seguinte: Cyclomatic Complexity = nº arestas – nº nós +1

aresta: linha entre nós.

nós: ponto de ramificação lógica.

Complicado né? Para simplificar podemos pensar da seguinte forma. Cyclomatic Complexity = nº (if, while, do, case no switch(select VB))

Exemplos : http://msdn.microsoft.com/en-us/library/ms182212.aspx

Quando a complexidade Ciclomática não se aplica: Quando seu método tem apenas um switch(select no VB) com vários case. Ou quando não se pode dividir o método.

Maintainability Index (MI)*²: O “índice de Manutenibilidade” é calculado utilizado as seguintes métricas.

– Linhas de código.

– Volume do programa. É a medida da dificuldade de compreensão baseado no número de operadores e operandos no código

– Complexidade Ciclomatica.

Quando o índice de Manutenibilidade não se aplica. Quando seu método tem apenas um switch(select no VB) com vários case. Ou quando não se pode dividir o método.

Class Coupling*³: O índice de “Classes acopladas” é calculado a partir da somatória de classes altamente acopladas e de diferentes referencias utilizadas em seu código.

Quando a complexidade Ciclomática não se aplica: Ainda não encontrei um caso em que não se aplica.

Fonte: http://msdn.microsoft.com/en-us/library/ms182211.aspx

E mais uma vez… Espero que o artigo tenha sido claro, objetivo e prático para você já poder começar a usar.

Francisco Gonçalves

Começando a utilizar o Code Analysis

Salve galerinha

Neste artigo vou falar sobre utilização do Code Analysis no Visual Studio. Ele é uma ótima ferramenta para melhorar a manutenção do código, a clareza, Performance, portabilidade, segurança e outros itens. Muito bom para quem quer dar um “tapa” no código.

Em primeiro lugar você precisa ter instalado em sua maquina o Microsoft Visual Studio Team System Test Edition, pois o Code analysis só existe na versão de testes.

Para poder começar aplicar as regras você deve abrir o Solution Explorer, selecionar o projeto em que você vai aplicá-las, botão direito e propriedades.

Quando a tela de propriedades do projeto abrir selecione Code Analysis na aba lateral.

Esta é a tela de configuração do Code Analysis para seu projeto.

Habilite a opção Enable Code Analysis on Build (define CODE_ANALYSIS constant); quando habilitado permite que, quando o build for executado, também será feita a analise de código pelo Code Analysis.

A coluna da esquerda Rules Enabled During Code Analisys indica quais regras estarão habilitadas na análise de código.

A coluna da direita Treat Warning as Erroraltera o tipo de sinalização, de Warning(Default) para Error, da regra caso ela não for validada. Esta opção é interessante, porque assim você impede que os desenvolvedores compilem o fonte até que a alteração solicitada seja feita. Muito útil para manter a qualidade do software.

Minha dica é: Comece utilizando as regras de Maintainability Rules e Performance Rules pois elas farão uma grande diferença no seu projeto. Elas trarão facilidade na manutenção e um ganho de performance do seu código.

Espero que o artigo tenha sido claro, objetivo e prático para você já poder começar a usar.

Nos próximos artigos irei descrever os grupos de regras para você decidir qual utilizar.

Francisco Gonçalves

Categorias:Code Analysis Etiquetas:
%d bloggers like this: