A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Padronização de código C#

Apresentações semelhantes


Apresentação em tema: "Padronização de código C#"— Transcrição da apresentação:

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?

3

4

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...


Carregar ppt "Padronização de código C#"

Apresentações semelhantes


Anúncios Google