-
Notifications
You must be signed in to change notification settings - Fork 3
Home
#Padrão de Nomenclaturas
##Nomes de arquivos
-
utiliza notação UpperCamelCase
-
nome do arquivo deve ser igual ao nome do Model, Controller e conter letra maíuscula no começo.
-
nome de models e controllers sempre deve conter o nome da classe de domínio seguido do prefixo da classe. Ex. UsersModel, UsersController (plural)
-
Evitar acentos, mesmo que o contexto permita como em nomes de arquivos.
-
Evitar espaços, mesmo que o contexto permita
-
Evite abreviar a não ser em casos já conhecidos. ex. CPF, UF.
-
Preposições devem normalmente ser omitidas.
-
Comentar código quando necessário!
##Hierarquia de Arquivos e Rotas
- Diretório deve se chamar o nome do contexto e as rotas devem acompanhar o prefixo, Ex: Users
- Views
- Users
- usersList
- usersDialog
- Users
- JS
- Users
- users-controller.js
- users-dialog.js
- Users
- Rotas
- Users
- Users/$id
- Users/Create
- Users/Acao
##Base de Dados
- Utiliza nomenclatura snake_case (underscore)
- Nome do banco 'nomedb' ou 'nome_composto_db'
- Fields id_entity, name_entity
- Fields que possam se repetir em outras tabelas, especificar o contexto. Ex: name_entity, name_street, name_city;
##Variáveis
- Nome da variável deve dizer claramente o que a variável é e faz
- Variáveis do tipo boolean devem receber nomes que impliquem verdadeiro ou falso acabou, ok, feito, sucesso
- Não utilizar nomes temporários ou nomes que não guardam significado temp1, temp2, var1, var2, xx4.
##Classes e objetos
- Nome de objeto, singular. Listas, plural. Ex: Objeto obj, List objs.
- Nome de classes, letra inicial maiúscula e nomenclatura CamelCase.
##Funções
- Nome do método não deve conter o nome da classe na qual ele se aplica
- Receber parâmetro da rota pelo método do controller ex: function buscaCep($param) {}
##JS
- Reutilizar o máximo de funções possíveis
- Criar arquivos externos
- Não usar PHP no JS
- Dividir arquivos por módulos do sistema
##CSS
- Não alterar códigos do Framework
- Utilizar CSS sempre em arquivos externos
##Documentação de Classes e Funções
- Comentar códigos. Formato: data, autor e comentario
- Obs.: Comentar quando necessário, operações muito comuns não são necessários comentários,
- somente change-logs, ex: Alterado em 12-10-2016, por quem, porquê.
- Estilo de comentário para headers de arquivos:
- /**
-
- @author Linus Torvalds
-
- @since 01-01-1970
- */
- Estilo de comentário para funções/métodos:
- /**
-
- @author Bill Gates (se for diferente dos autores da classe)
-
- @description Valida um cpf, seu formato e autenticidade
-
- @see Alguma referência à APIs, classes, etc.. (optional)
-
- @param {number} cpf O cpf que será validado
-
- @return {boolean} Se o cpf é válido ou não
- */
- function validaCpf($cpf) {}
##Model para Crud
GetBy(Param param) { } //retorna um objeto através de um field específico
GetAll() { } //Retorna uma lista com todos os objetos
GetAllBy(Param param){ } //Retorna uma lista com todos os objetos filtrados por especificação
Create(Object object) { } //Insert de um objeto no db
Update(Object object) { } //atualiza um objeto no db
Delete(Param param) { } //Deleta um objeto no banco
##Controller
index() { } //Carrega View index
new() { } //Carrega View de Form
create() { } //Faz a operação de create
edit() { } //Carrega View de editar
update() { } //Faz a operação de update
delete() { } //Faz a operação de delete
##Views
- Passar dados para view através de array associativo, onde $data['object'] = Object, na view será acessível através da chave $object.