Skip to content
| Marketplace
Sign in
Visual Studio>Tools>LintSpy 2022
LintSpy 2022

LintSpy 2022

TI - Coopavel Cooperativa Agroindustrial

|
638 installs
| (1) | Free
Roslyn based code analysis and standardization tool for Visual Studio 2022
Download

O LintSpy é uma extensão desenvolvida para o Visual Studio que visa facilitar o trabalho em equipe, sugerindo a adoção das melhores práticas de nomenclatura e documentação em tempo real, visando assim um código C# limpo, claro e objetivo.

Notas de versão

Versão Principais alterações
1.0.0 Versão inicial
1.0.1 Ignora classes do Scaffold (.NET) que tenham anotações [Table()] ou que estendam de DbContext
1.0.2 Verifica todos os métodos, menos os com Data Anotations específicos

Resumo

O LintSpy visa padronizar nomenclatura e documentação de códigos no momento da programação, sublinhando códigos em desacordo, exibindo na barra de rolagem a localização do ocorrido e sugerindo adoção das regras abaixo descritas. Também é possível visualizar todos as ocorrências através da lista de warnings do Visual Studio.

Desenvolvida pela equipe de TI da Coopavel (Cooperativa Agroindustrial de Cascavel/PR)

Veja abaixo um exemplo do LintSpy em funcionamento:

Image not found, email me: informatica@coopavel.com.br Exibição do warning no trecho incorreto e na barra de rolagem

Image not found, email me: informatica@coopavel.com.br Exibição da mensagem de erro ao deixar o cursor sobre o trecho marcado

Image not found, email me: informatica@coopavel.com.br Exibição de possibilidade de correção

Regras

  1. Classes devem estar em Pascal Case;
  2. O prefixo de variáveis deve seguir as tabelas na seção Prefixos. Classes internas não são consideradas;
  3. Namespaces devem estar em Pascal Case;
  4. Interfaces e classes abstratas devem ter o nome começando com a letra 'I';
  5. Métodos devem possuir comentário de documentação;
  6. O nome do método deve estar em Pascal Case;
  7. Parâmetros de métodos devem iniciar com a letra 'p';
  8. Atributos de classe devem possuir summary;
  9. Underscores (_) não são permitidos para nenhum nome;
  10. Constantes devem estar em Upper Case (Caso em que é permitido o uso de underscores);
  11. Enums devem estar em Pascal Case;
  12. Interfaces devem estar em Pascal Case após a letra 'I';
  13. Parâmetros devem estar em Pascal Case após o 'p';
  14. Variáveis devem estar em Pascal Case após o prefixo;
  15. Underscores (_) não são permitidos para nomes de variáveis (Caso especial);
  16. Parâmetros de um método devem estar no Summary do mesmo;
  17. Campos do Summary não podem ficar em branco;
  18. Propriedades devem estar em Pascal Case;
  19. Estruturas de controle de fluxo devem possuir bloco delimitado por chaves ({});
  20. Comentário não pode possuir parâmetros que não possuam correspondência;
  21. Comentário deve ter o retorno do método devidamente comentado;
  22. Pragma para desabilitar regras deve ter comentário com razão;

Prefixos

Prefixos de variáveis possuem três letras minúsculas seguindo as tabelas abaixo descritas.

Sobre Todos

As variáveis devem ser nomeadas utilizando o prefixo da tabela a seguir caso a classe em questão possua alguma das palavras listadas.

Palavra Prefixo
Collection clt
Column cln
Row row

Demais

Classes que não possuam as palavras da tabela anterior devem utilizar o prefixo indicado na tabela abaixo de acordo com o nome da classe ou agrupamento.

Classe Pref. Classe Pref. Classe Pref.
AdvRichTextBox rtb ImageList ils SqlCommand scm
ArrayList arl Int int SqlConnection scn
Backgroundworker bgw Jarray jar SqlDataAdapter sda
Bool bln Jobject job StatusBar sta
Boolean bln Jtoken jtk StatusStrip sst
Button btn Label lbl StreamWriter stw
Byte byt LinkLabel lnk String str
CampoData txt List lst StringBuilder stb
CampoDataHora txt ListBox lst TabControl tbc
CampoDecimal txt ListView lvw TableLayoutPanel tlp
CampoNumerico txt Long lon TabPage tbp
CampoTelefone txt MaskedTextBox txt TextBox txt
Char chr MemoryStream mms Textboxnumauto txt
CheckBox chk Menu mnu Timer tmr
CheckedListBox clb MenuStrip mns TimeSpan tms
ColorDialog cld MonthCalendar mcl ToolBar tlb
ComboBox cbo NotifyIcon nti ToolStrip tsp
ContextMenu cmn NumericUpDown nud ToolStripButton tsb
Control ctr OleDbCommand ocm ToolStripDrop...
DataGridView dgv OleDbConnection ocn DownButton btn
DataGridViewCoopavel dgv OleDbDataAdapter oda ToolStripMenuItem tmi
DataSet dts OpenFileDialog ofd ToolStripProgressBar prg
DataTable dtt PageSetup Dialog psd ToolStripSplitButton btn
DataView dtv Panel pnl ToolStripStatusLabel lbl
DateTime dta PictureBox pic ToolTip tip
DateTimePicker dtp PrintDialog ptd TrackBar trb
DB2Command dcm PrintDocument prn TreeView tre
DB2Connection dcn PrintPreviewControl ppc Uint uin
DB2DataAdapter dda PrintPreviewDialog ppd Ulong uln
Decimal dec Process prc Ushort ush
Dictionary dic Processando pro VScrollBar vsb
DomainUpDown upd ProgressBar prg XmlAttribute xat
Double dob RadioButton rad XmlDictionary xdi
ErrorProvider err Regex rgx XmlDocument xdo
Float flt RichTextBox rtf XmlElement xel
FontDialog ftd SaveFileDialog sfd XmlEntity xen
Formulários frm Sbyte sby XmlNode xnd
GroupBox grp Short sht XmlNodeList xnl
HelpProvider hlp SpliterContainer spc XmlReader xre
HScrollBar hsb Splitter spt XmlWriter xwr

Classes que não se encaixam nas regras de prefixagem acima listadas devem possuir o prefixo 'obj'.

  • Contact us
  • Jobs
  • Privacy
  • Manage cookies
  • Terms of use
  • Trademarks
© 2025 Microsoft