Carregar apresentação
A apresentação está carregando. Por favor, espere
1
Padronização de código C#
Por Celito Muck Felipetto
2
Introdução Por que a padronização de código? Ela é realmente necessária? Padronização da padronização? Qual usar? Como usar?
5
Convenção de nomenclatura
Notação Húngara bBusy : boolean chInitial : char cApples : count of items dwLightYears : double word (systems) fBusy : boolean (flag) nSize : integer (systems) or count (application) iSize : integer (systems) or index (application)
6
Convenção de nomenclatura
Notação Posicional Máximo 8 caracteres Apenas usava mnemônicos BUSY : boolean WORDL : char APPLES : int LYEAR : double ISVAL : boolean (flag)
7
Convenção de nomenclatura
CamelCase: isBusy : boolean longWord : string apples : int lightYear : double varWithALongName : float Pascal: IsBusy : boolean LongWord : string Apples : int Light Year : double VarWithALongName : float
8
Convenção de nomenclatura
Underscore & Hyphen (UPPER or lower) is_busy : boolean long_word : string NUM_APPLES : int _light_year : double first-letter : char VAR-WITH-A-VERY-LONG-NAME : float
9
Convenção de nomenclatura
Padrão C#: Estrutura Nomenclatura Exemplo Classe Pascal PessoaFisica Interface ‘I’ + Pascal IProgramador Método public, Propriedades NomeCompleto() Método private Camel Case calculaIdade() Variável Public & Protected PrimeiroNome Variável Private salarioInicial Constantes Uppercase Underscored PISO_SALARIAL
10
Convenção de nomenclatura
Padrão alternativo: Estrutura Nomenclatura Exemplo Classe Pascal PessoaFisica Interface ‘I’ + Pascal IProgramador Método public, Propriedades Camel Case nomeCompleto() Método private calculaIdade() Variavel Public & Protected primeiroNome Variavel Private ‘_’ + Camel Case _salarioAtual Constantes Uppercase Underscored PISO_SALARIAL
11
Indentação Tabulação != 3 Espaços Fontes Monospaced
Namespace não tem indentação Limite da linha
12
Indentação Função quebrada: Caso 1: Caso 2:
nomeCompleto = metodoQueCaptaONome... nomeCompleto = metodoQueCaptaONome(); Caso 2: metodoMuitoComprido(metodoMuitoCom... metodoMuitoComprido( metodoMuitoComprido());
13
Indentação Inicio de Bloco Mesma linha Próxima linha (MS)
public void NomeDaFunção(){ } Próxima linha (MS) public void NomeDaFunção() { }
14
Idioma Escopo do projeto Equipe de programação Mistura de idiomas
15
Documentação Importancia da documentação O que documentar? C# XML Doc
Comentários com Tags
16
Documentação Tags: <summary> = Descrição da estrutura que segue
<param> = Descrição do parametro <returns> = Descrição do retorno <code> = Delimita codigo na documentação <see> = Referencia um membro externo <example> = Exemplifica a documentação
17
Documentação Exemplo: /// <summary>
/// Retorna o nome completo da Pessoa /// </summary> /// <param name=“tratamento”> Tratamento a ser adicionado /// antes do nome </param> /// <example> /// Esse exemplo mostra como pode ser /// usado o metodo <see cref=“NomeCompleto"/>. /// <code> /// class ClasseTeste /// { /// static int Main() /// { /// NomeCompleto(false); /// } /// } /// </code> /// </example> public string NomeCompleto(string tratamento) { … }
18
Repositório de código SVN GIT Repositório centralizado
Bom para pequenos grupos GIT Repositórios hierarquicos Bom para projetos complexos
19
TODO O que é o TODO? Necessidade do TODO TODO direcionado
//TODO: Adicionar sons ao personagem; Necessidade do TODO TODO direcionado //TODO: [João] Fazer conexão com BD; Sistemas mais completos: Redmine; Jira; Trac; FogBugz
20
Fontes MSDN: Microsoft Developer Network (msdn.microsoft.com)
Naming convention (programming): Wikipedia (en.wikipedia.org/wiki/Naming_convention_(programing)) Google...
Apresentações semelhantes
© 2024 SlidePlayer.com.br Inc.
All rights reserved.