Páginas filhas
  • 01 Padrões gerais de programação - LGX

01. Introdução


Na busca de qualidade ao desenvolver o produto Logix aplicativo, é imprescindível a adoção de boas práticas ao codificar os códigos fontes.

Pensando nisso, aqui estão destacadas algumas delas para ajudar a manter o código mais legível, fácil de compreender e também consequentemente facilitar o processo de manutenção por qualquer desenvolvedor.

LEMBRE-SE, para alcançarmos um bom código, não basta apenas que ele funcione e que apenas o codificador criador do código entenda o que está sendo feito, mas um código que possa ser entendível por outros desenvolvedores.


02. Nomenclatura de variáveis


A nomenclatura das variáveis devem SEMPRE ser identificadas com um prefixo de acordo com escopo da variável (Global, Modular ou Local) e tambéma conforme o tipo de dado que cada uma armazena, conforme a tabela abaixo:


OBJETOPREFIXOEXEMPLO

Variáveis Globais


Tipo simplesg_g_dat_referencia
Tipo registro (RECORD)gr_gr_funcionario
Tipo vetor (ARRAY)ga_ga_valores

Variáveis ModularesTipo simplesm_m_dat_referencia
Tipo registro (RECORD)mr_mr_funcionario
Tipo vetor (ARRAY)ma_ma_valores

Variáveis LocaisTipo simplesl_l_dat_referencia
Tipo registro (RECORD)lr_lr_funcionario
Tipo vetor (ARRAY)la_la_valores

Cursores (CURSOR)Leitura (Query)cq_cq_funcionario
Modificaçãocm_cm_funcionario
Inclusãoci_ci_funcionario
Exclusãoce_ce_funcionario

SQL Preparados (PREPARE)
var_var_funcionario

Refere-se a tipo SIMPLES os tipos de variáveis diferentes de RECORD e ARRAY, como por exemplo: DATE, CHAR, SMALLINT, INTEGER, DATETIME.


   

Losango - ícones de formas grátis Utilizar palavras auto-explicativas para formar o nome de uma variável, para que seja fácil de interpretar o objetivo para qual está sendo definida. Exemplos: 

      • DEFINE l_salario_funcio DECIMAL(17,2)
      • DEFINE mr_aluno RECORD  LIKE aluno.*

Losango - ícones de formas grátis Utilizar sempre que possível tipo de dado associado a uma coluna de tabela, utilizando a cláusula “LIKE”. Exemplos:

      • DEFINE l_cod_usuario LIKE usuarios.cod_usuario
      • DEFINE mr_aluno RECORD LIKE aluno.*

Losango - ícones de formas grátis Utilizar a definição das variáveis dentro do escopo do programa, sendo primeiramente as variáveis globais, depois as modulares. As variáveis locais devem ser definidas sempre no início de cada função.

Losango - ícones de formas grátis Sempre inicializar o valor de variáveis antes de atribuir algum valor a ela pela primeira vez ou quando for necessário (INITIALIZE).

03. Estrutura do código fonte


Todo código fonte desenvolvido deve respeitar a estrutura conforme as definições abaixo:


Losango - ícones de formas grátis Todos os comandos próprios da linguagem devem estar em letras maiúsculas e os nomes de variáveis de programa em letras minúsculas (lowercase) separado os elementos utilizando underscore (Snake Case).

Losango - ícones de formas grátis A identação padrão a ser respeitada entre as estruturas de comandos deve ser de 4 posições sempre utilizando o uso de espaços no lugar de tabulações.


EXEMPLO


  

03. Nomenclatura de funções


A definição de todas as funções dentro de um código fonte deve seguir um padrão de nomenclatura.


Escopo   


Por padrão, toda função criada no Logix é pública, ou seja, acessível por qualquer outro programa ou função. Portanto para evitar o uso indevido de uma função que deve ser executada apenas pelo programa ou código fonte em que foi criado, deve-se defini-la como privada.


EXEMPLO
PRIVATE FUNCTION man0310_entrada_dados()

Nomenclatura


O nome de uma função (FUNCTION ou REPORT) deverá sempre ter como prefixo o número completo do programa e deve refletir exatamente o que ela processa, de forma clara e objetiva, para facilitar a interpretação por todos os desenvolvedores.


<numero_programa>_<nome_função>

EXEMPLO


Programa = man0310.4gl

Função controle() = man0310_controle()

Função entrada_dados() = man0310_entrada_dados()


A linha de código que contém a definição da função deverá sempre ser precedida e sucedida por uma linha tracejada conforme abaixo para dar mais destaque a lista de funções existentes em um fonte:


#------------------------------------------------------------------------------#
 FUNCTION man0310_entrada_dados()
#------------------------------------------------------------------------------#

 END FUNCTION

  

04. Conclusão


Criar softwares é considerada uma arte apenas quando as convenções e padrões de desenvolvimento para deixar o código mais legível e facil de manter e evoluir práticos, o que traz não apenas maior qualidade, mas automaticamente ajuda a reduzir custos pois o tempo empregado para as melhorias e manutenções diminuem. Então, não desenvolva de qualquer jeito e procure sempre se atualizar e inovar em relação a melhores técnicas de desenvolvimento.

As convenções e padrões apenas existe para servir de guia para o produto Logix e assim ajuda também a facilitar a vida da equipe de desenvolvimento na hora de entender como alguns códigos devem ser desenvolvidos para que todos os desenvolvedores entendam e assim FALEM A MESMA LINGUAGEM.



Desenvolver fora de um padrão ou de maneira clara, organizada e tendo o cuidado de adicionar comentários dificulta a localização de erros ou a própria manutenção.
Programar BEM ou MAL dão o mesmo trabalho na hora de codificar, mas na hora de alterar os códigos, quem não seguir as regras básicas, terá muito mais trabalho.

#FICAADICA (piscar o olho)

05. Anexos


Para acessar informações de um antigo manual de padrões de programação utilizando para desenvolvimento na linguagem 4GL/4JS acesse pd_prg_4gl_4js.pdf.