por celito muck felipetto. introdução por que a padronização de código? ela é realmente...
Post on 19-Apr-2015
115 Views
Preview:
TRANSCRIPT
Por Celito Muck Felipetto
IntroduçãoPor que a padronização de código? Ela é
realmente necessária?Padronização da padronização?Qual usar? Como usar?
Convenção de nomenclaturaNotação Húngara
bBusy : booleanchInitial : charcApples : count of itemsdwLightYears : double word (systems)fBusy : boolean (flag)nSize : integer (systems) or count (application)iSize : integer (systems) or index (application)
Convenção de nomenclaturaNotação Posicional
Máximo 8 caracteresApenas usava mnemônicos
BUSY : boolean WORDL : char APPLES : int LYEAR : double ISVAL : boolean (flag)
Convenção de nomenclaturaCamelCase:
isBusy : booleanlongWord : stringapples : intlightYear : doublevarWithALongName : float
Pascal:IsBusy : booleanLongWord : stringApples : intLight Year : doubleVarWithALongName : float
Convenção de nomenclaturaUnderscore & Hyphen (UPPER or lower)
is_busy : booleanlong_word : stringNUM_APPLES : int_light_year : doublefirst-letter : charVAR-WITH-A-VERY-LONG-NAME : float
Convenção de nomenclaturaPadrão C#:
Estrutura Nomenclatura Exemplo
Classe Pascal PessoaFisica
Interface ‘I’ + Pascal IProgramador
Método public, Propriedades
Pascal NomeCompleto()
Método private Camel Case calculaIdade()
Variável Public & Protected
Pascal PrimeiroNome
Variável Private Camel Case salarioInicial
Constantes Uppercase Underscored
PISO_SALARIAL
Convenção de nomenclaturaPadrão alternativo:
Estrutura Nomenclatura Exemplo
Classe Pascal PessoaFisica
Interface ‘I’ + Pascal IProgramador
Método public, Propriedades
Camel Case nomeCompleto()
Método private Camel Case calculaIdade()
Variavel Public & Protected
Camel Case primeiroNome
Variavel Private ‘_’ + Camel Case _salarioAtual
Constantes Uppercase Underscored
PISO_SALARIAL
IndentaçãoTabulação != 3 EspaçosFontes MonospacedNamespace não tem indentaçãoLimite da linha
IndentaçãoFunção quebrada:
Caso 1: nomeCompleto = metodoQueCaptaONome... nomeCompleto = metodoQueCaptaONome();
Caso 2: metodoMuitoComprido(metodoMuitoCom... metodoMuitoComprido( metodoMuitoComprido());
IndentaçãoInicio de Bloco
Mesma linha public void NomeDaFunção(){ ...}
Próxima linha (MS) public void NomeDaFunção(){ ...}
IdiomaEscopo do projetoEquipe de programaçãoMistura de idiomas
DocumentaçãoImportancia da documentaçãoO que documentar?C#
XML DocComentários com Tags
DocumentaçãoTags:
<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
DocumentaçãoExemplo:
/// <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) { …}
Repositório de códigoSVN
Repositório centralizadoBom para pequenos grupos
GITRepositórios hierarquicosBom para projetos complexos
TODOO que é o TODO?
//TODO: Adicionar sons ao personagem;
Necessidade do TODOTODO direcionado
//TODO: [João] Fazer conexão com BD;
Sistemas mais completos:Redmine; Jira; Trac; FogBugz
FontesMSDN: Microsoft Developer Network
(msdn.microsoft.com)
Naming convention (programming): Wikipedia (en.wikipedia.org/wiki/Naming_convention_(programing))
Google...
top related