Lambda, lambda, lambda Delpheiros!!!Quando falamos em analise de codigo qual a ferramenta que vem a sua cabeca?Existem varias ferramentas disponiveis no mercado para analise de codigo fonte e para todos os tipos de linguagem, porem, temos uma falta delas para Delphi.Vamos avaliar de forma simples e funcional uma ferramenta muito interessante para analise de codigo Delphi: FixInsight. Esta ferramenta e desenvolvida e mantida por RomanYankovsky, MVP Embarcadero(Obrigado, Roman, por ceder uma licenca para uso), e pode ser encontrado na comunidade do G+ ou no seu perfil RomanYankovsky G+.O que e FixInsight?FixInsight e uma ferramenta para validacao de sintaxee capturar de forma clara e simplista warnings que podem vir a ser problemas nos seus metodos alem de analisar convencao de tipo conforme o usuario tenha configurado alem de ter alguns itens configurados conforme o padrao "Delphi" de desenvolvimento.Apos a instalacao, que pode ser feita aqui, a ferramenta pode ser acessada utilizando o menu Project >> Run FixInsight.Tela de configuracao.Podemos ver nessa janela duas divisoes distintas: Conventions: Hoje temos um grande problema quando trabalhamos com diversos desenvolvedores pois cada um esta adaptado a um tipo de escrita o que pode ser problematico para futuras manutencoes e entendimento da equipe.No meu ponto de vista, esse grupo de configuracao e essencial e vem para diminuir essa disparidade entre os diversos perfis que encontramos em um mesmo codigo fonte.Na minha opiniao:Ponto positivo: Podemos avaliar quase tudo o que esta fora do padrao de desenvolvimento da empresa(metodos longos, muitas variaveis ou parametros, class fields, interfaces, Poiners , nome de classes e sentenca with aninhada) impedindo ate mesmo que o codigo seja submetido em um ambiente de versionamento caso esteja fora das regras estipuladas. Ponto negativo: Gostaria de ver outros itens nessa lista alem de poder configurar todos ou a maioria dos seus itens. Um exemplo e iniciar um class field com a letra "F". Se a minha empresa como padrao por exemplo "FD", ja nao sera possivel mapear de forma completa o codigo fonte. Alguns itens ainda podem vir a ser melhorados em uma versao futura, e novos serem incorporados.Warnings: Nesse topico encontraremos erros ou possiveis erros em nosso codigo fonte. Eu me surpreendi quando vi a ferramenta rodar em cima de uma aplicacao de legado. Existem coisas que a gente esta habituado a fazer que atrapalham no desempenho e manutencao do software. A missao dessa divisao e encontra-los, e isso ela faz muito bem.Exemplo de uso:Criei um projeto vazio e acrescentei alguns procedimentos conforme codigo abaixo:unit Unit3; interfaceuses Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics, Vcl.Controls, Vcl.Forms, Vcl.Dialogs;type TForm1 = class(TForm) procedure FormCreate(Sender: TObject); private { Private declarations } public procedure Teste(p1, p2, p3, p4, p5, p6, p7: string); function Get: string; { Public declarations } end;var Form3: TForm3;implementation{$R *.dfm}procedure TForm1.FormCreate(Sender: TObject);var F: TForm;begin F := TForm.Create(Self); F.Caption := 'Test'; F.Tile; F.Scaled := True; F.ShowModal; FreeAndNil(F);end;function TForm1.Get: string;var p1, p2, p3, p4, p5: string;begin Result := p1 + p2 + p3 + p4 + p5;end;procedure TForm1.Teste(p1, p2, p3, p4, p5, p6, p7: string);begin// testeend;end.Acesse o menu Project >> Run FixInsight. Clique no botao "Run".O botao "Run" possui duas