AS EMPRESAS ESTÃO "DESESPERADAS" POR ESTE TIPO DE PROFISSIONAL... - VOCÊ É UM DELES?
MEGA FORMAÇÃO EM INFRAESTRUTURA DE TI - O Conhecimento que Vira Dinheiro - CLIQUE AQUI
Olá pessoal, meu nome é Mauricio Júnior e estou disposto a colocar para vocês um documento de padrão para codificação de sistemas e códigos. Dessa forma, se todos programarem de uma mesma forma dentro de uma empresa ou sistema, o código será entendido por qualquer pessoa no futuro que for executar alguma modificação no sistema. Esse tipo de documento é ótimo para começar um sistema por uma equipe, tudo se torna mais fácil e ágil programar.
Espero que possa ajudar a todos como me ajudou depois que fiz.
Outros artigos poderão ser encontrados no site abaixo:

1. Introdução
Este documento tem como objetivo elaborar uma padronização para o desenvolvimento em C#, considerando os seguintes tópicos:
• Padronização de nomenclatura usada na programação de métodos, objetos, variáveis e constantes. Além disso, trata como deverá ser feita a documentação dentro do código.
2. Padrões de Desenvolvimento C#
2.1 Endentação de código
Alguns trechos de código podem ficar muito extensos e você deverá encarar o dilema de quebrar a linha.
• Quebrar a linha após uma vírgula;
• Quebrar a linha após um operador;
• Alinhar a nova linha no inicio da expressão no mesmo nível da linha anterior.
Exemplo:

Outro fator importante é a utilização de espaços em branco para endentação. Não use espaços em branco para endentação, use tabulação. Motivos: Facilidade de incrementar e decrementar blocos de código através de atalhos de teclas do editor de código.
2.2 Comentários
Utilizar as três barras “///” para comentários de classes e métodos. O motivo é utilizar a funcionalidade do Visual Studio .NET de transformar comentários em documentação de código. Entretanto, para comentários que não necessitam ser publicados, seguem algumas sugestões:
O comentário é importante para você ou outra pessoa ser orientada sobre a manutenção de um código fonte, tenha atenção à forma de destacar o comentário. Por exemplo, comentários com mais de uma linha poderiam ser assim:
Para comentários de uma linha somente, o comentário deve ser uma espécie de marcador de loops ou não deve ser aplicado. A questão é que como exposto em linhas anteriores, os comentários devem chamar a atenção visando facilitar e direcionar a manutenção. Somente justifica-se um comentário de uma linha quando você necessita marcar dentro de um bloco de código o início de um nível de endentação ou loop.
Exemplo:

Outra boa aplicação para comentários de uma linha é a explicação de uma declaração. Por exemplo:
![]()
2.2.1 Comentários de classes e métodos
Toda classe e método devem ser documentados. O padrão utilizado segue abaixo:

2.3 Declarações
2.3.1 Variáveis privadas de classe
Utilizar a definição CamelCase (a primeira letra do identificador é minúscula e a primeira letra de cada identificador subseqüente concatenado é maiúscula).
Exemplo:
![]()
2.3.2 Variáveis locais
Utilizar a definição CamelCase.
2.3.3 Namespace
Utiliza-se o nome da empresa seguido pelo nome do projeto, camada de negocio e o modulo que está sendo desenvolvido.
Exemplo:
![]()
2.3.4 Interface
O nome de interface deve ser PascalCase (a primeira letra do identificador é maiúscula e a primeira letra de cada identificador subseqüente concatenado é maiúscula), e começar com o prefixo “I”, para indicar que o tipo é uma interface.
Exemplo:
![]()
2.3.5 Métodos
Utilizar a definição PascalCase.
2.3.6 Enumerações
Utilizar a definição PascalCase.
2.3.7 Eventos
Utilizar a definição PascalCase para o nome do evento.
Utilizar o sufixo EventHandler para o nome do delegate associado ao evento. Especificar dois parâmetros “sender” e “e”. O parâmetro “sender” representa o objeto que disparou o evento e deve ser sempre do tipo Object, mesmo sendo possível utilizar um tipo especifico. O estado associado com o evento é encapsulado em uma instancia de um evento de classe chamado “e”.
Exemplos:

2.3.8 Constantes
Nomes de constantes deverão ser todos maiúsculos com as palavras separadas por um underscore.
Exemplo:
![]()
2.3.9 Exceções
O nome de uma classe de exceção deve utilizar a definição PascalCase, e finalizar com a expressão Exception, para indicar que o tipo é uma exceção.
Exemplo:
![]()
2.3.10 Propriedades públicas
Utilizar a definição PascalCase para o nome de propriedades.
Exemplo:

2.3.11 Windows Forms
Abaixo temos a lista de componentes e os prefixos:
| Componente | Prefixo | Exemplo |
| Assembly | asm | |
| Button | btn | btnExit |
| Char | ch | chxxx |
| CheckBox | chk | chkReadOnly |
| CheckedListBox | clb | clbOptions |
| ColorDialog | cld | cldText |
| ComboBox | cbo | cboEnglish |
| Container | ctr | |
| ContextMenu | cmn | cmnOpen |
| CrystalReportViewer | rpt | rptSales |
| DataColumn | dcol | |
| DataGrid | grd | grdQueryResult |
| DataGridDateTimePickerColumn | dgdtpc | |
| DataGridTableStyle | dgts | |
| DataGridTextBoxColumn | dgtbc | |
| DataReader | dreader | |
| DataRow | drow | |
| DataTable | dtable | |
| Dialog | dialog | |
| DialogResult | dr | |
| DomainUpDown | upd | updPages |
| ErrorProvider | err | errOpen |
| Exception | ex | |
| FontDialog | ftd | ftdText |
| Form | frm | frmEntry |
| GroupBox | grp | grpActions |
| HashTable | htbl | |
| HelpProvider | hlp | hlpOptions |
| HScrollBar | hsb | hsbMove |
| ImageList | ils | ilsAllIcons |
| Label | lbl | lblHelpMessage |
| LinkLabel | lnk | lnkEmail |
| ListBox | lst | lstPolicyCodes |
| ListView | lvw | lvwHeadings |
| MarshallByRefObject | rmt | |
| Mainmenu | mm | |
| MDI-Frame | frame | |
| MDI-Sheet | sheet | |
| Menu | mnu | mnuFileOpen |
| MenuItem | mi | |
| MonthCalendar | mcl | mclPeriod |
| NotifyIcon | nti | ntiOpen |
| NumericUpDown | nud | nudPieces |
| OpenFileDialog | ofd | ofdImage |
| PageSetup Dialog | psd | psdReport |
| Panel | pnl | pnlGroup |
| PictureBox | pic | picIcon |
| PrintDialog | ptd | ptdText |
| PrintDocument | prn | prnText |
| PrintPreviewControl | ppc | ppcText |
| PrintPreviewDialog | ppd | ppdText |
| ProgressBar | prg | prgLoadFile |
| RadioButton | rad | radType |
| RichTextBox | rtf | rtfReport |
| SaveFileDialog | sfd | sfdImage |
| SDI-Form | form | |
| Splitter | Spt | sptDivision |
| StatusBar | sta | staDateTime |
| TabControl | tbc | tbcOptions |
| TextBox | txt | txtLastName |
| Timer | tmr | tmrAlarm |
| ToolBar | tlb | tlbActions |
| ToolTip | tip | tipIcons |
| TrackBar | trb | trbIndex |
| TreeView | tre | treOrganization |
| UserControl | usr | |
| VScrollBar | vsb | vsbMove |
| WindowsPrincipal | wpl |
2.3.12 Objeto de dados
Abaixo temos alguns componentes de comunicação de dados:

2.3.13 Variáveis
Veja a lista abaixo de tipos e prefixos:

2.3.14 Web Forms
Veja a lista abaixo de tipos e prefixos:
| Tipo | Prefixo |
| AdRotator | adrtr |
| Button | btn |
| Calendar | cldr |
| CheckBox | cbx |
| CheckBoxList | cbxl |
| CompareValidator | cvdr |
| CrystalReportViewer | crvwr |
| DataGrid | dgrd |
| DataList | dlst |
| DropDownList | ddl |
| HyperLink | hlnk |
| Image | img |
| ImageButton | ibtn |
| Label | lbl |
| LinkButton | lbtn |
| ListBox | lbx |
| Literal | ltrl |
| Panel | pnl |
| PlaceHolder | phdr |
| RadioButton | rbtn |
| RadioButtonList | rbtnl |
| RangeValidator | rvdr |
| RegularExpressionValidator | rev |
| Repeater | rptr |
| RequiredFieldValidator | rfv |
| Table | tbl |
| TextBox | tbx |
| ValidationSummary | vsmy |
| Xml | xml |
2.4 Considerações
Ao declarar variáveis, procure seguir as considerações abaixo.
Ao invés de:
![]()
usar:

Sempre inicializar suas variáveis no local aonde são declaradas.
![]()
3. Referências
http://www.microsoft.com/brasil/msdn/Tecnologias/visualc/
visual_c_boaspraticas.aspx
http://www.akadia.com/services/naming_conventions.html
Mauricio Junior
|
MEGA FORMAÇÃO EM INFRAESTRUTURA DE TI (Online, Vitalício, Prático e Atualizado)! |
|
|
NÃO PROCURE VAGAS, SEJA PROCURADO! |
|
Para Todos os Detalhes, Acesse:
https://juliobattisti.com.br/curso-infra-ti.asp
|
Contato: Telefone: (51) 3717-3796 | E-mail: webmaster@juliobattisti.com.br | Whatsapp: (51) 99627-3434
Júlio Battisti Livros e Cursos Ltda | CNPJ: 08.916.484/0001-25 | Rua Vereador Ivo Cláudio Weigel, 537 - Universitário, Santa Cruz do Sul/RS, CEP: 96816-208
Todos os direitos reservados, Júlio Battisti 2001-2026 ®
LIVRO: MACROS E PROGRAMAÇÃO VBA NO EXCEL 2016 - CURSO COMPLETO E PRÁTICO
DOMINE A PROGRAMAÇÃO VBA NO EXCEL - 878 PÁGINAS - CLIQUE AQUI