Desenvolvimento - Visual Basic .NET
Qualidade de Código - Como o Visual Studio 2005 pode nos ajudar!
Para facilitar então a auditoria do que é feito, o Visual Studio 2005 nos oferece algumas ferramentas para tentar diminuir cada vez mais a quantidade de códigos incorretos ou problemáticos, com esse paradigma levantado, foi criada uma versão do Visual Studio chamada: Visual Studio Team Developer Edition, onde a qualidade no código foi a principal característica empregada.
por Alexandre TarifaPré-requisito: Estar convencido que a qualidade no código é um dos fatores mais importantes para o resultado final de um sistema. Pode parecer incrível, mas nem todas as empresas dão muito valor a isso.
Qualidade de Código
Por mais que as ferramentas e linguagens de programação evoluam cada vez mais, ainda sim grande parte do código ainda é feito por um ser humano, o que possibilita então que erros aconteçam, como diz aquele ditado antigo: errar é humano.
Para facilitar então a auditoria do que é feito, o Visual Studio 2005 nos oferece algumas ferramentas para tentar diminuir cada vez mais a quantidade de códigos incorretos ou problemáticos, com esse paradigma levantado, foi criada uma versão do Visual Studio chamada: Visual Studio Team Developer Edition, onde a qualidade no código foi a principal característica empregada. A versão Professional do Visual Studio está vindo com estes mesmos recursos do Visual Studio Team Developer Edition.
Este produto faz parte de família de produtos do Visual Studio Team System (Figura 1), onde você consegue algumas informações no site www.vstsrocks.com.br.
Figura 1 – Visual Studio Team System
Os recursos são divididos em duas categorias: Ferramentas de análise de código e testes de código (Unit Test).
Análise de Código
Os analisadores de códigos já são utilizados em muitos projetos, porém sempre com ferramentas separadas do Visual Studio. Já nesta versão do Visual Studio temos o analisador de código estático do Visual Studio além do fxCop, produto já disponível na versão 2003, porém que necessitava de uma instalação à parte.
O analisador do Visual Studio trás muitas possibilidades de auditoria no código onde podemos configurar somente o que se faz relevante ao projeto a ser analisado.
Na prática
Temos um projeto Class Library simples, em VB.Net, na janela Solution Explorer, selecione My Project e então a janela de configuração é aberta. Selecione a aba Code Analisys (Figura 2).
Figura 2 – Configurações do analisador de código
Enable Code Analisys – Liga/Desliga o analisador de código
Rules – Liga/Desliga cada item ou categoria de analises que serão levadas em consideração na análise do código. Além disso é possível definir se casa análise gera somente um Warning ou Error.
No projeto criado adicione o seguinte código:
Public Function Analise(ByVal Param As String) As Collections.Generic.List(Of String)
Dim variavelNaoUsada As String
Dim lista As New Collections.Generic.List(Of String)
lista.Add("Windows Forms")
lista.Add("Asp.Net")
lista.Add("Windows Mobile")
Return lista
End Function
Os pontos que vamos configurar vão detectar problemas na nomenclatura do parâmetro, da variável que não foi utilizada, sendo assim vamos habilitar somente Naming Rules e Performance Rules. Um detalhe, é que as regras de nomenclatura que são levadas em consideração provém da convenção sugerida pela Microsoft, para saber mais conheça o Design Guidelines (Manual do Visual Studio).
Figura 3 – Analisador de código
Para rodar o analisador, basta compilar a aplicação (Control + Shift + B), assim na própria janela de OutPut é exibido o resultado da análise.
C:\Documents and Settings\alexandret\My Documents\Visual Studio 2005\Projects\AnalisadorCodigo\AnalisadorCodigo\Class1.vb(4): warning : CA1709 : Microsoft.Naming : Correct the casing of parameter name "Param".
C:\Documents and Settings\alexandret\My Documents\Visual Studio 2005\Projects\AnalisadorCodigo\AnalisadorCodigo\Class1.vb(4): warning : CA1804 : Microsoft.Performance : Class1.Analise(String):List`1<System.String> declares a local, "variavelNaoUsada", of type System.String, which is never used or is only assigned to. Use this local or remove it.
Claro que neste exemplo simples somente estes dois itens foram encontrados, já em um grande projeto é necessário uma análise refinada nos itens que serão checados.
Em casos mais criteriosos, ao invés de exibir como um simples Warning, basta na configuração alterar para Error, com isso o projeto nem mesmo é compilado.
Function LoginAcesso(ByVal usuario As String, ByVal senha As String) As Boolean
If usuario = "Usuario" Then
Return True
Else
Return False
End If
End Function
O objetivo do teste neste caso é verificar se a validação está correta, ou seja, esperamos um retorno como True na chamada deste método.
Criar o teste unitário é muito simples, clique com o botão direito do mouse sobre o código e Create Unit Test. Uma janela de Wizzard é aberta (Figura 4)
Figura 4 – Criando o Unit Test.
Selecione o método e clique em OK. Uma nova janela é aberta pedindo o nome do projeto, note que um novo projeto do tipo Test é criado.
O Visual Studio cria então uma classe LoginTest e o método LoginAcessoTest que é o responsável pelo teste. Note alguns TODO´s, onde devemos adicionar os valores que queremos testar. A chamada do teste deve ficar conforme a listagem abaixo:
Public Sub LoginAcessoTest()
Dim target As Login = New Login
Dim usuario As String = "Alexandre" "TODO: Initialize to an appropriate value
Dim senha As String = "1234" "TODO: Initialize to an appropriate value
Dim expected As Boolean
Dim actual As Boolean
actual = target.LoginAcesso(usuario, senha)
Assert.AreEqual(expected, actual, "Valor incorreto.")
End Sub
A verificação está no Assert.AreEqual, ou seja, podemos utilizando a classe Assert fazer inúmeros tipos de testes.
Para rodar o teste, no menu do Visual Studio selecione Test > Windows > Test View (Figura 5).
Figura 5 – Test View.
Na janela Test View clique no botão Run Selection.
Figura 6 – Test Result.
Com isso temos a execução o teste finalizada porém não sabemos se 100% do código foi testado. Para isso utilizamos o recurso chamado Code Coverage, que analisa o percentual de código executado. No Solution Explorer, abra o diretório Solution Items e dê um duplo clique em localtestrun.testrunconfig, com isso uma janela é aberta. Selecione Code Coverage e habilite o projeto Class Library, clique em Apply e Close.
Figura 7 – Configuração.
Novamente pelo Test View, execute o teste criado anteriormente. Na janela Test Result, clique no último botão Show Code Coverage Results
Figura 8 – Code Coverage.
Uma nova janela de resultados é aberta, a Code Coverage Results (Figura 9), vá até o método LoginAcesso e dê um duplo clique, com isso podemos verificar o código executado.
Figura 9 – Code Coverage Result.
Conclusão: Trabalhar com o Visual Studio 2005 Team System significa ter diversos recursos adicionais em nossa ferramenta de trabalho, mesmo tendo estes recursos em forma de add-in do Visual Studio, a facilidade que os recursos integrados nos oferece já é um bom motivo para utilizarmos à ferramenta.
- Entity Framework 4: Repositório GenéricoVisual Basic .NET
- As edições 14 da Easy .net Magazine e 88 da .net Magazine já estão disponíveis.ADO.NET
- Postando no Twiiter com .NET e Migre.meC#
- Setup ApplicationsVisual Basic .NET
- Problemas na manipulação de arquivos do MS Excel com .NETVisual Basic .NET