Olá,
Sempre que estamos fazendo algum script na pressa, deixamos de nos preocupar com varias questões como uso de apelidos(“alias”) dos comandos, formatação, performance, etc. Apenas queremos “terminar o serviço”, porém quando o “serviço” vira uma rotina, precisamos revisitar o script e melhorar para tornar ele mais portatil, ou simplismente mais performatico. Com isso em mente, a Microsoft em conjunto com a comunidade, criou o módulo PSScriptAnalyzer, que usa um conjunto de regras pré definidas para avaliar seu script e sugerir melhorias.
O PSScriptAnalyzer é um verificador de código fonte estático para módulos e scripts PowerShell. O PSScriptAnalyzer verifica a qualidade do código do PowerShell executando um conjunto de regras. As regras são baseadas nas práticas recomendadas do PowerShell identificadas pela equipe do PowerShell e pela Comunidade. Pester gera registros de diagnóstico (erros e avisos) para informar os usuários sobre possíveis defeitos de código e sugere possíveis soluções para melhorias.
Para começar a usar o PSScriptAnalyzer, precisamos primeiro instalar o módulo, que esta disponível na Galeria:
Install-Module -Name 'PSScriptAnalyzer' -Scope CurrentUser -Force
Podemos Listar o conjunto de regras pré definidas utilizando o comando Get-ScriptAnalyzerRule:
Para executar a verificação em um script você deverá usar o comando Invoke-ScriptAnalyzer, no meu caso vou utilizar em um script chamado Set-AzureRmVMAutoShutdown:
Para esse caso, ele me listou algumas sugestões de modificação para melhorar a qualidade do código exibindo o nível de Severidade de cada regra. Poderiamos adicionar o parâmetro -Fix, que iria tentar auto corrigir algumas das “falhas”, porém ainda há a possibilidade de quebrar o script, então deve ser utilizado com cautela.
Com isso podemos garantir que os scripts sempre irão seguir um conjunto de regras, melhorando não só a qualidade, como a consistência do código.
Dúvidas? Sugestões? Comente!
Até a próxima!
1 Comments
UP