Árvore de páginas

Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.

1-Definições gerais

  • Podem ser usados NameSpaces para construção das aplicações, sendo uma boa prática que é recomendada;

  • Os nomes  devem estar em minúsculo, separados por ponto e sem o uso de underscore (sublinhado);

  • Para a internacionalização deve-se usar os nomes de NameSpaces, funções, classes, métodos e fontes no idioma inglês.


2-Nomenclatura para NameSpaces

Os NameSpaces devem ser nomeados da seguinte forma:


Expandir
titlePara o Produtoproduto
  • Os nomes devem estar em minúsculo e separados por ponto;
  • Não use underscore (sublinhado) para diferenciar palavras, ou em qualquer lugar do identificador;
  • Use a seguinte estrutura: 

totvs.protheus.<segmento>.<agrupador/serviço>

Sendo:

totvs.protheus: Nome fixo para identificar um domínio de produto.

<segmento>: Designação do segmento atuante do NameSpace. Por exemplo: backoffice, health, legal etc.

Nota

Use um dos segmentos previstos nas ofertas TOTVS:

  • agrobusiness
  • backoffice
  • construction
  • distribution
  • educational
  • financial
  • health
  • hospitality
  • legal
  • manufacturing
  • retail
  • services


As exceções são apenas para as equipes de Framework (framework) e Engenharia Protheus (pt.engineering)


<agrupador/serviço>: Nome que agrupe os fontes de uma mesma característica.

Pode

ode ter mais de um nível e os nomes dos agrupadores devem estar no singular.


Exemplos:

  • totvs.protheus.backoffice.customer
  • totvs.protheus.backoffice.supplier
  • totvs.protheus.backoffice.tgv
  • totvs.protheus.legal.register.process
  • totvs.protheus.hospitality.report


Expandir
titlePara customizações de clientes
  • Inicie com valor fixo custom o restante é livre;
  • Use os nomes em minúsculo e sem underscore (sublinhado).
   


Exemplos:

  • custom.cadastros.meus
  • custom.relatorios.customizados 


3-Nomenclatura para fontes

Os fontes em TLPP devem ser nomeados da seguinte forma:


Expandir
titlePara o Produtoproduto
  • Os nomes devem estar em minúsculo e separados por ponto;
  • Não use underscore (sublinhado) para diferenciar palavras, ou em qualquer lugar do identificador;
  • Use a seguinte estrutura: 

 <segmento>.<agrupador/serviço>.<funcionalidade>

Sendo:

 totvs.protheus: Nome fixo para identificar um domínio de produto.

<segmento>: Designação do segmento atuante do fonte.. Por exemplo: backoffice, health,  legal etc.

Nota

Use um dos segmentos previstos nas ofertas TOTVS:

  • agrobusiness
  • backoffice
  • construction
  • distribution
  • educational
  • financial
  • health
  • hospitality
  • legal
  • manufacturing
  • retail
  • services


As exceções apenas para as equipes de Framework (framework) e Engenharia Protheus (pt.engineering)


<agrupador/serviço>: Nome que agrupe fontes de uma mesma característica. Pode ter mais de um nível e os nomes usados nos agrupadores devem estar no singular.

<funcionalidade>: Nome da funcionalidade

 

Exemplos:

  • backoffice.tgv.contact.controller.tlpp
  • backoffice.tgv.customer.controller.tlpp
  • backoffice.financial.payment.receive.tlpp
  • backoffice.financial.bank.controller.tlpp
  • rental.payment.receive.tlpp
  • manufacturing.material.balance.tlpp
  • manufacturing.material.register.tlpp


Expandir
titlePara customizações de clientes

Para os fontes de customizações de Clientes, eles devem iniciar com valor fixo custom e o restante é livre.

Use os nomes em minúsculo e sem underscore (sublinhado).


Exemplos:

  • custom.cadastros.cliente.tlpp
  • custom.ma030inc.tlpp


4-Nomenclatura para classes, funções e métodos


Expandir
titleClasses, funções e métodos
  • Nomenclatura de classes:

Use a convenção de PascalCase, onde se coloca em maiúscula, as primeiras letras de todas as palavras, inclusive a primeira . 

  • Nomenclatura de funções e métodos de classes:

Use a convenção de camelCase, onde se coloca em maiúscula as primeiras letras de cada palavra no meio do nome.

  • Não use underscore (sublinhado) para diferenciar palavras, ou em qualquer lugar do identificador.

 

Exemplos:

Function contactsController()

Class ContactsController

Method validName() Class ContactsController

oCustomer:validName()