Você está na página 1de 20

Março/2007

Padrões de Programação

2006 Grupo | JBS S/A Padrões de Banco de Dados | Confidencial


Introdução

•Nosso objetivo hoje é apresentar os padrões de


programação utilizados para o desenvolvimento e

2006 Grupo | JBS S/A Padrões de Banco de Dados | Confidencial


manutenção do ERP Friboi.
Sigla dos Departamentos e Sistemas

2006 Grupo | JBS S/A Padrões de Banco de Dados | Confidencial


Sigla dos Departamentos e Sistemas

2006 Grupo | JBS S/A Padrões de Banco de Dados | Confidencial


Estrutura de Diretórios

•Produção
H:\Versão Final\[Departamento]\[Sistema]
•Desenvolvimento

2006 Grupo | JBS S/A Padrões de Banco de Dados | Confidencial


H:\Areadetrabalho\[Programador]
•Teste
H:\Revisao
• Bibliotecas
Padronização Delphi – VARIÁVEIS

• O nome da variável, classe, objeto ou componente deve


sempre representar o seu objetivo ou funcionalidade.

2006 Grupo | JBS S/A Padrões de Banco de Dados | Confidencial


• Nomenclatura:
– Não utilizar preposições e artigos:
Exemplo: Substituir UnidadeDeMedida por UnidadeMedida;

– Capitalizar os nomes compostos:


Exemplo: Substituir produtosfaturar por ProdutoFaturar;

– Os nomes devem seguir a formatação [prefixo_tipo] + [nome_variável];

– Os objetos do tipo ADOQuery, ADOQueryMacro, MemTable, DBCDataSet


etc, devem seguir a seguinte formatação 'DataSet' + [Descrição da Consulta].
Exemplo: DataSetProduto.
Padronização Delphi – VARIÁVEIS

2006 Grupo | JBS S/A Padrões de Banco de Dados | Confidencial


Padronização Delphi – VARIÁVEIS

• Privates
Todas as variáveis declaradas privadas devem seguir a formatação: ‘F’ +
[nome_variável]. Caso ocorra a necessidade de tornar a variável pública, criar

2006 Grupo | JBS S/A Padrões de Banco de Dados | Confidencial


uma propriedade na classe.

Type TFormTeste: TForm


...
private
FiContador: Integer;
public
property Contador:integer read FiContador write FiContador;
end;

• Constantes

Devem ser iniciadas com o caracter ‘_’. Exemplo: _SegundaFeira = 1.


Padronização Delphi – COMENTÁRIOS
• Units: Os comentários devem ser colocados antes da palavra unit no seguinte formato :
{-----------------------------------------
Descrição:
------------------------------------------}

2006 Grupo | JBS S/A Padrões de Banco de Dados | Confidencial


• Função e procedimentos: O comentário deve ser colocado antes do nome da
função ou procedimento no seguinte modelo:
{-----------------------------------------
Descrição:
Entrada..: (Parâmetros de entrada)
Saída....: (Parâmetros de saída)
-----------------------------------------}
• Linhas de código: Em partes do programa que necessite de uma explicação.
// (Descrição)
• Nunca exibir uma mensagem ao usuário no meio de uma transação.
• Evitar comentários do tipo //End if, //End while, estes só servem para poluir o código.
Padronização Delphi – UNITS

Formulários Padrão

2006 Grupo | JBS S/A Padrões de Banco de Dados | Confidencial


Para Form
Criação de formulário de cadastro EditForm (uEditForm)
Criação de formulário de relatório ReportForm (uReportForm)
Criação de formulário de entrada InputForm (uInputForm)
de dados
Padronização Delphi – UNITS

Regras
 O formulário deve possuir o mesmo nome da unit, retirando a letra

2006 Grupo | JBS S/A Padrões de Banco de Dados | Confidencial


inicial ‘u’.
 As units auxiliares devem seguir a nomenclatura da unit principal seguido da próxima
letra disponível. Exemplo: uFBCO301A.
 Sempre que tiver uma condição IF depois de uma condição ELSE, não colocar a outra
condição na seqüência, isto é, adicionar uma nova linha e alinhar dois espaços após a
condição, por exemplo:
 Para facilitar a monitoração do banco de dados, por favor acrescentem a cada script
SQL embutido em um programa, o nome do programa e uma descrição do script.
 Comentários SQL no Delphi não podem conter o símbolo ":" (Dois pontos). O Delphi
interpreta como parâmetro e gera um erro, esse erro pode acontecer durante a
gravação da Unit(dfm), compilação ou execução.
Padronização Delphi – UNITS
 Documentação de regra na unit do programa:

Regra Descrição

2006 Grupo | JBS S/A Padrões de Banco de Dados | Confidencial


R001 Mostrar o status da Ánalise de Crédito do
Terceiro no canto direito do seu código.

procedure TFIRP101.DBCCreateEdit(Sender.TWinControl);
begin
inherited;
if Sender is TDBEdit then
begin
// R001
LabelLiberadoBloqueado.Parent := TBEdit(Sender).Parent;
LabelLiberadoBloqueado.Left := 5000;
LabelLiberadoBloqueado.Top := TBEdit(Sender).Top;
LabelLiberadoBloqueado.Width := 500;
end;
// FIM
end;
Padronização Delphi – UNITS

 Modelo de Formatação

2006 Grupo | JBS S/A Padrões de Banco de Dados | Confidencial


procedure TADCT210.DBCAfterInsert(Sender: TDBContainer);
var
cTeste: String;
iItem: Integer;
begin
inherited;
if (not DBC.Inserting)
and (not UsuarioPodeVerItens) then
begin
DBC.Cancel;
uLibDiversos.ErrorMessage('Usuário sem permissão.');
Abort;
end
else
begin
if ...
end;
end;
Padronização Delphi – UNITS

 Criação de novos programas


 Identificação de Departamento e Sistema;

2006 Grupo | JBS S/A Padrões de Banco de Dados | Confidencial


 Identificação de tipo do programa (Edit, Imput ou Report);
 Verificar seqüência numérica disponível;
 Na criação do formulário deverá proceder as alterações:
Retirar:
var ADPB105: TADPB105;
Inserir no final da unit:
RegisterClass(TADPB105);

 Adicionar programa ao menu do ERP;


 Adicionar unit e documentação no Source Safe.
Padronização Delphi – UNITS

 Alteração de programas existentes

 Check-out no Source Safe com código do projeto;

2006 Grupo | JBS S/A Padrões de Banco de Dados | Confidencial


 Implementar, documentar e disponibilizar a alteração para teste;
 Sempre salvar os arquivos do Delphi na sua Área de Trabalho;
 Ao término do projeto, Check-in no Source Safe com o código
do projeto.
Padronização Delphi – DBC
 Nome de functions e procedures
Mudar: DBCTables28TableFields2FieldChange
Para: FBCO128_dEntrega_FieldChange.

2006 Grupo | JBS S/A Padrões de Banco de Dados | Confidencial


 Log de Alterações
Propriedade DBC.Log define controle de alteração de um registro inserido/editado
através do DBC. Esta propriedade é definida por padrão no cadastro
da tabela, mas pode ser alterada em tempo de desenvolvimento.
 Filtro da empresa (FilterCompany)
Propriedade FilterCompany, quando habilitada, verifica acesso do usuário
e banco de dados à empresa informada.
Padronização Delphi – DBC
 Conexões

ADOConnection – Conexão para o banco da matriz.

2006 Grupo | JBS S/A Padrões de Banco de Dados | Confidencial


ADOConnection_Local – Conexão para o banco local.

ATENÇÃO: Somente utilizar ADOConnection_Local para acesso


a tabelas replicadas.

 Dicionários

 Reutilização de código;
 Diminuição do tamanho do arquivo .dfm;
 Facilita e padroniza a configuração da consulta;
 Como configurar o Dicionário:
1º Criar o dicionário a partir do DBC, utilizando as teclas Alt+F5;
2º Gravar o arquivo dic no diretório \Dic
Padronização Delphi – DBC
 Procedures de Validação

 Regras de Negócio no banco;

2006 Grupo | JBS S/A Padrões de Banco de Dados | Confidencial


 Rapidez na manutenção do código;
 [NOME_TABELA]_Valida (FICF080_Valida)
 Parâmetros:
@AcIUD
@AnCdUsuario
@A[PK_TABELA] (@AnCdContratoFinanceiro)
Onde obter mais informações

No SourceSafe:

2006 Grupo | JBS S/A Padrões de Banco de Dados | Confidencial


• Alterações de banco de dados.doc

• Padrões do banco de dados.doc


Dúvidas

2006 Grupo | JBS S/A Padrões de Banco de Dados | Confidencial

Você também pode gostar