Esta página define o padrão que deve ser seguido em novos módulos e em manutenções no BarberBot.
O objetivo é reduzir variação entre arquivos, facilitar leitura, acelerar depuração e manter o sistema
consistente para qualquer desenvolvedor que entrar no projeto.
nomes de arquivos variáveis rotas AJAX mensagens modais PDO
Base do padrão
Como o próximo dev deve ler esta página
Objetivo
Padronizar a criação e a manutenção de módulos para que qualquer dev encontre a mesma lógica de navegação,
nomes parecidos, respostas previsíveis e SQL seguro em todo o sistema.
Mesmo nome do módulo na tela e na pasta interna.
Mesma ordem mental: tela, listar, salvar, buscar, excluir.
Mesmo padrão de retorno para AJAX.
Mesmo padrão de modal e de IDs de formulário.
Regra prática
Sempre que criar ou ajustar um módulo, o dev deve manter o mesmo desenho do restante do BarberBot.
Isso evita arquivos improvisados, nomes fora do padrão e bugs causados por respostas diferentes em cada página.
Evitar nomes em inglês quando o restante do módulo está em português.
Evitar criar endpoints fora da pasta do módulo sem necessidade.
Evitar mudar o formato de resposta sem atualizar o AJAX da tela.
Padrão de nomes
Nomes de arquivos e organização de pastas
Arquivo principal da tela
O arquivo principal fica direto em /sistema/painel/paginas e deve ter o mesmo nome da pasta operacional.
Exemplo: clientes.php trabalha com a pasta clientes/.
Pasta operacional do módulo
Dentro da pasta do módulo devem ficar os arquivos internos responsáveis por listar, salvar, buscar e excluir.
O ideal é não espalhar esses arquivos em diretórios aleatórios.
Responsável pela interface, filtros, modais e chamadas AJAX.
listar.php
Retorna a listagem do módulo, normalmente em HTML.
salvar.php
Recebe formulário, valida campos e grava ou atualiza o banco.
buscar.php
Busca um item específico para preencher modal ou formulário de edição.
excluir.php
Remove o registro e devolve status simples para a tela.
Arquivos extras
Somente quando o módulo exigir fluxo específico, como processar.php ou gerar_ia.php.
Padrão de escrita
Convenções de variáveis
Variáveis PHP
Usar snake_case para seguir o padrão atual do projeto: $id_usuario, $data_inicial.
Quando o projeto já usa nomes curtos consolidados, manter consistência: $pag, $pdo, $tabela.
Variáveis vindas de formulário devem refletir o nome do campo: $nome, $telefone, $valor.
IDs devem ser explícitos: $id para o principal, $id_cliente para relacionamentos.
Variáveis JavaScript
Seguir o mesmo nome da interface: id, busca, pagina, dataInicial se já estiver em camelCase na tela.
O nome da variável usada no AJAX deve bater com o nome que o PHP espera.
IDs e seletores devem ser previsíveis: #listar, #form, #mensagem, #tituloModal.
Regra importante
Não misturar nomes diferentes para a mesma coisa. Se o campo no form chama telefone, não use
$fone no PHP, phone no JS e contato no banco. Essa variação aumenta erro de manutenção.
Comunicação interna
Padrão de rotas AJAX
Em módulos do painel, o padrão do BarberBot é a tela principal disparar AJAX para a subpasta do próprio módulo.
O dev deve preservar esse desenho sempre que possível.
A tela principal deve usar a variável pag para montar a URL.
listar.php normalmente responde HTML.
buscar.php normalmente responde JSON quando preenche modal.
salvar.php e excluir.php normalmente respondem texto simples.
Erros comuns
Trocar o nome da pasta e esquecer de atualizar a variável pag.
Mudar o tipo de retorno e não ajustar o AJAX.
Criar endpoint fora da pasta do módulo sem documentar a chamada.
Retorno previsível
Padrão de mensagens de sucesso e erro
Sucesso de gravação
Usar resposta curta e objetiva, por exemplo: Salvo com Sucesso.
Sucesso de exclusão
Usar resposta curta e objetiva, por exemplo: Excluído com Sucesso.
Erro de validação
Informar o problema real, por exemplo: Preencha o nome ou Selecione um cliente.
Regra de consistência
A tela geralmente compara a resposta com uma string exata. Por isso, o texto de retorno do PHP não deve mudar
sem que o JavaScript da tela seja atualizado. Alterar Salvo com Sucesso para outro texto sem revisar o AJAX
costuma quebrar o fechamento do modal e a atualização da listagem.