Wiki Primeiros passos #225
Padronizações e nomenclatura
João Borsoi, #225, março 2010Palavras-chave: estrutura, nomenclatura, padronização
Faz parte dos princípios da boa prática de programação manter a organização. Códigos extensos, gerenciados por muitas pessoas precisam ser padronizados e organizados. Facilita a sua compreensão e consequentemente reduz custos.
Para aqueles que desejam contribuir com o avalanche, segue abaixo padrões de nomenclatura e organização utilizados no avalanche:
Geral
No geral, as variáveis, métodos, classes e nomes de arquivos devem ser intuitivos e auto-explicativos. É comum a necessidade pelo uso de termos compostos, onde cada termo interior deve iniciar com a letra maiúscula para facilitar a visualização.Deve-se haver um bom senso com relação a abreviações e o tamanho das variáveis. O objetivo é ter o código legível.
Atributos e Variáveis
Atributos de classes e variáveis devem possuir a primeira letra em minúsculo.
Exemplo: $rootTemplate, $menuTemplate, $main
Métodos e Funções
Métodos de classes e funções devem possuir a primeira letra em maiúsculo.
Exemplos: LoadPage, PrintHtml, Execute
Pacotes
Buscamos sempre modularizar as funcionalidades. Para cada pacote de módulos procuramos buscar nomes curtos, sem acentos, para que possam ser usados como prefixo no nome de cada arquivo. Exemplo de módulos do avalanche: ADMIN, CHAT, EM, FORM, LIB, SITE, SHOP, etc.
Pasta lib
A pasta lib contém arquivos de código do avalanche. Cada arquivo contem uma classe, e deve ter o mesmo nome desta. Arquivos de módulos possuem extensão mod e os demais inc. Todos os arquivos possuem como prefixo o nome do pacote em maiusculo separado pelo caracter "_".
Exemplos: LIB_Search.mod, ADMIN_GetFileContent.mod, LIB_Document.inc, UM_User.inc, etc.
Pasta pages
A pasta pages contém os arquivos referêntes às páginas. Cada arquivo contem uma classe, e deve ter o mesmo nome desta. Aqui os arquivos também possuem o nome do pacote como prefixo, mas em minúsculo e sem separação com "_".
Exemplos: siteSend.inc, siteSearch.inc, shopDone.inc, adminGetFileContent.inc, etc.
Pasta templates
A pasta templates possui os arquivos com fragmentos de xhtml. Aqui os arquivos também possuem o nome do pacote como prefixo, em minúsculo e sem separação com "_".
Exemplos: adminContent.tpt, adminRoot.tpt, siteRoot.tpt, shopMain.tpt
Pasta scripts
A pasta scripts possui scripts em SQL. Todos os arquivos possuem como prefixo o nome do pacote em maiusculo separado pelo caracter "_".
Exemplos: SITE_DBDump.sql, AV_UpgradeDB.sql
Comentários
Documentos Relacionados
-
João Borsoi maio 2017