Telescope (core)
Padronização dos nomes dos blocos e interfaces
ADS.FAQ-482
Os nomes dos blocos são livres, mas devem seguir a convenção abaixo e facilitar a sua relação com os casos de uso relacionados a ele.
Todos os nomes de blocos devem ser montados com a seguinte conveção:
Prefixo + "_" + objeto + [ "_" + cenário ] + [ "_" + detalhe ]
Exemplos:
- CAD_PEDIDOS_06
- CAD_PEDIDOS_06_ITENS
- CAD_PEDIDOS_06_FINAN
- UPGRADES_PEDIDOS
- CFG_MAIL
- PRO_ATUALIZACOES
- UTL_DB_SQL
- LOV_PRODUTOS
- LST_ITENS_PEDIDOS
- MAN_TITULOS
Prefixo
A sigla convenciona o tipo de interface e devem ser:
- CAD: Cadastro/manutenção - Normalmente oferece as operações CRUD (criar, consultar, alterar e excluir) de uma entidade além de outras funcionalidades comuns, tais como cancelar, emitir, aprovar, etc.
- CFG: Interfaces de configuração.
- CON: Consulta - Tela montada com o objetivo de apenas trazer informações sobre um determinado registro.
- EXP: Exportação de dados - Tela de parâmetros com uma ação que gera o arquivo conforme os parâmetros informados seguida de uma ação que cria o arquivo e devolve no content-type específico.
- IMP: Importação de dados - Interface voltada para a importação de dados de outros sistemas. Normalmente composta por uma operação de carga, uma ação de confirmação e uma tela de apresentação dos resultados. Algumas telas deste tipo permitem interagir com os dados importados para que se possa ajustar as informações para os padrões do sistema.
- LOV: Interfaces focadas especificamente para resolver uma Lista Of Values específica. Normalmente terão funcionalidades de query, list e insert.
- LST: Interfaces de consulta que apenas listam determinados registros. Estas interfaces tem como característica ter apenas uma operação de LIST e opcionalmente uma operação de QUERY.
- MAN: Interfaces de manutenção "crua" - São interfaces CRUD destinadas exclusivamente para administradores do sistema e que permitem alterar determinados campos de uma entidade que normalmente não seriam alteráveis nos processos usuais. Estas interfaces são utilizadas para ajustes de situações que não são possíveis de serem realizadas nas interfaces utilizadas normalmente. Devido a liberdade que é dada nestas interfaces, elas também possuem praticamente nenhuma regra de experiência de usuário, deixando praticamente todo o comportamento por conta das regras de entidade.
- REL: Relatório - Saídas (consultas) com foco na geração de documentos (papel). Estas interfaces são normalmente compostas por uma tela de parâmetros (tipo query) seguidas de uma tela de um contet-type específico.
- WS: Interfaces utilizadas exclusivamente como serviços acessados por outros sistemas (web services).
- PRO: Processos - Em geral são semelhantes ao um cadastro mas bem específicas para um caso de uso de negócio. Ex: Executar rotina de fechamento de mes, processar pendencias, etc.
- UPGRADES: - Atualizações - São blocos contendo rotinas executadas automaticamente nas atualizações do sistema. Ver Rotinas de atualização (UPGRADES).
- UTL: Utilitários - São interfaces para ferramentas administrativas do sistema. Estas interfaces são utilizadas esporadicamente, normalmente para migrações de dados, ajustes, conferencias, etc. Para rotinas diárias utilizadas pelos usuários normais, deve-se optar por PRO.
Objeto
Nome que identifica o objeto relacionado ao caso de uso. Na maioria dos casos é um substantivo no plural (muitas vezes igual ao nome da entidade base). Exceção para blocos do tipo PRO, onde o objeto será um verbo que caracteriza o processo e UPGRADES em que o objeto será nome do sistema.
Exemplos:
- CAD_PEDIDOS (Cadastro de pedidos)
- REL_ORDENS_SERVICOS (Relatório Ordem de Serviço)
- PRO_BAIXAR_PEDIDOS (Processo de baixa de pedidos)
- UPGRADES_FINANC (Rotinas de atualização do sistema FINANC)
- etc.
Cenário
Quando um bloco definido para atender um caso de uso de forma genérica não atende a um cenário específico através de configurações ou customizações realizadas na produção, então será necessário criar um bloco para atender este cenário.
Nestes casos, os cenários são simplesmente diferenciados por um número, por exemplo, a emissão de pedidos de venda pode ter blocos de interface utilizadas em diferentes cenários:
- CAD_PEDIDOS - Bloco genérico com muitas possibilidades de customização
- CAD_PEDIDOS_01 - Bloco específico para atender um determinado cenário
- CAD_PEDIDOS_06 - Bloco específico para atender outro cenário
- CAD_PEDIDOS_09
- etc.
Detalhe
Em interfaces que utilizam de outros blocos para complementar o bloco principal e cujos blocos não são chamados diretamente, convenciona-se que estes blocos tenham o mesmo nome que o bloco principal acrescentado a uma variação que identifica a informação que ele agrega.
Exemplos:
- CAD_PEDIDOS_ITENS
- CAD_PEDIDOS_06_ITENS
Note que nem sempre os blocos que são agregados a um bloco principal seguirão esta convenção:
- Algumas vezes, um bloco "detalhe" é comum a dois cenários e por isso reutiliza-se o bloco do cenário já desenvolvido.
- Blocos que podem ser chamados diretamente (sem a necessidade de passar por um bloco principal) devem ter um nome independente da variação.
Ver também: