Declarar como CONSTANT todas as variáveis que não serão alteradas pelo procedimento

De DTI Wiki

Ir para: navegação, pesquisa

Bp.png BOA PRÁTICA

Declarar como CONSTANT todas as variáveis que não serão alteradas pelo procedimento; Sempre que houver o uso de constantes, a declaração desta deve ser feita com a instrução CONSTANT, para garantir que seu valor não será acidentalmente trocado durante manutenções futuras do código fonte.

POR QUE USAR
O uso de constantes dentro de um programa torna-o mais legível e fácil de seguir, além de economizar memória em algumas linguagens, por serem "variáveis estáticas". A constante protege o valor contra alterações, diferente de uma variável que pode ser alterada acidentalmente. Facilita muito a manutenção, porque no caso da necessidade de alteração do valor de uma constante, isso será feito somente em um ponto do código.

Comonfazer.png COMO NÃO FAZER

		…
			v_contaare planocontas.codctacontabil%TYPE;BEGIN
			v_contaare := 698;
		END;


NÃO devem ser declaradas constantes com nomes genéricos, como por exemplo:

Comonfazer.png COMO NÃO FAZER

V_CODSITUACAO  CONSTANT SITUACAO.CODSITUACAO%TYPE := 15; -- Lançamento atualizado     ou
V_CODSITUACAO15   CONSTANT SITUACAO.CODSITUACAO%TYPE := 15; -- Lançamento atualizado


Um exemplo de utilização seria:
Comofazer.png COMO FAZER

IF V_SITUACAO = V_LCTATUALIZADO THEN ...
observe que a instrução acima é bem mais clara DO que: IF V_SITUACAO = 15 THEN ....


Comofazer.png COMO FAZER

		…
			v_contaare CONSTANT planocontas.codctacontabil%TYPE := 698;BEGINEND;


Em PL/SQL, no caso de PACKAGES, se o valor for utilizado em mais de um procedimento ou função, ela pode ser declarada no PACKAGE HEADER neste caso ficará como GLOBAL e PUBLIC, ou no PACKAGE BODY, antes da declaração do primeiro procedimento ou função, neste caso ela ficara como GLOBAL e PRIVATE.

Podemos ainda criar um PACKAGE HEADER, por esquema e/ou por aplicação, somente para declaração das constantes mais utilizadas, dessa forma elas seriam referenciadas nos demais programas como por exemplo:
Comofazer.png COMO FAZER

 
			IF V_SITUACAO = PKG_ADCONSTANTES.V_LCTATUALIZADO THEN ...


EXEMPLOS DE DECLARAÇÃO DE CONSTANTES
DELPHI:

GSSIT_DIGITADA : Integer = 1; // Gerenciador de Solicitações, situação digitada.
GSSIT_LIDA_GESTOR : Integer = 2; // Gerenciador de Solicitações, situação lida pelo gestor
GSSIT_CANCELADA_GESTOR : Integer = 3; // Gerenciador de Solicitações, situação cancelada pelo gestor.


PL/SQL:

V_LCTATUALIZADO CONSTANT SITUACAO.CODSITUACAO%TYPE := 15; -- Lançamento atualizado


PHP:

define('LCTO_ATUALIZADO', 15);  // Lançamento atualizado
Ferramentas pessoais
Espaços nominais
Variantes
Ações
Navegação
Ferramentas