Pular para o conteúdo principal

Convenções de código

Convenções de código são um padrão de codificação que um grupo de programadores decide seguir. Isso inclui nomes de variáveis, de arquivos, identação, comentários, etc. Segundo o site da Sun, as convenções de código são importantes para os programadores por três razões:
  • 80% do custo de desenvolvimento de um software é gasto com manutenção
  • Dificilmente um software é mantido por toda sua vida pelo autor original
  • Convenções de código dão legibilidade ao software
Nas aulas de Linguagem de Programação Comercial eu procuro mostrar ao alunos a importância de usar convenções de código até mesmo em benefício do seu próprio aprendizado. Utilizamos Delphi nessa disciplina e vou documentar aqui o padrão que eu criei no desenvolvimento de meus sistemas e o qual eu os aconselho a utilizarem.
No caso dos componentes eu os nomeio iniciando com duas ou três letras minúsculas abreviando o tipo do componente seguidas de um nome iniciando em maiúscula:
  • Botões (TButton, TBitBtn, TSpeedButton) - iniciam com btn. Exemplo: btnFechar, btnOk, btnCancelar
  • Caixas de texto (TEdit) - iniciam com edt. Exemplo: edNome, edEndereco
  • Caixas combinadas (TComboBox) - iniciam com cbx. Exemplo: cbxCidade, cbxEstado
  • Caixas de lista (TListBox) - iniciam com lb. Exemplo: lbProfissao, lbEscolaridade
  • Rótulos (TLabel) - iniciam com lbl. Exemplo: lblNome, lblEndereco
  • Barra de rolagem (TScrollBar) - iniciam com sb. Exemplo: sbIdade
  • Caixas de verificação (TCheckBox) - iniciam com chx. Exemplo: chxSituacao
  • Menus (TMainMenu, TPopUpMenu) - iniciam com mn. Exemplo: mnPrincipal
  • Formulários (TForm) - iniciam com frm. Exemplo: frmPrincipal
  • Unidades (Unit) - iniciam com u_. Exemplo: u_principal
  • Tabelas (TTable) - iniciam com tb. Exemplo: tbProduto, tbCliente.
  • Fontes de dados (TDataSource) - iniciam com ds. Exemplo: dsProduto, dsCliente.
  • Queries (TQuery) - iniciam com que. Exemplo: queProduto, queCliente.
Além disso procuro identar o código e usar nomes que sugiram a função (a que se destina) de cada variável ou componente.

Comentários

Postagens mais visitadas deste blog

Lazarus - Acessando banco de dados com SQLdb - Parte I

Para fazer nossa primeira aplicação usando banco de dados no Lazarus vamos usar o SQLite e o conjunto de componentes nativo SQLdb. Inicialmente vamos apresentar passo como essa aplicação foi criada. Essa foi a maneira que eu fiz, e eu agradeço sugestões e questionamentos que pessoas que já passaram por essa experiência. Depois irei fazer algumas considerações sobre o uso do SQLdb. SQLite SQLite é uma biblioteca que implementa um motor de banco de dados SQL. É livre para qualquer finalidade, seja uso particular ou comercial. Lê e escreve em um único arquivo que pode ter além de tabelas, índices, gatilhos e visões. Executa em várias plataformas e é indicado para aplicações embarcadas. Maiores detalhes podem ser encontrados no site oficial. Para usá-lo, baixe-o do site e faça a instalação adequada para o seu sistema operacional. No Windows isso é muito simples, apenas copie sqlite3.dll para o system32 da pasta do sistema operacional. Existe uma ferramenta de linha de comando chamada

Tipos de dados no SQLite

Em SQLite, diferente de outros motores de banco de dados, o tipo de dado de um valor está associado com o valor propriamente dito, e não com o seu contêiner. É um sistema de tipo dinâmico. Um campo de uma tabela em SQLite pode receber qualquer tipo de dado. Assim, o SQLite simplesmente ignora o tipo informado no comando CREATE TABLE. Então, dizemos que no SQLite existem classes de armazenamento. E essas classes são: NULL - como em qualquer outro banco de dados. INTEGER - inteiro com sinal, armazenado em 1, 2, 3, 4, 6 ou 8 bytes dependendo da grandeza do valor. REAL - valor de ponto flutuante armazenado em 8 bytes. TEXT - uma string armazenada usando UTF-8, UTF-16BE ou UTF-16LE. BLOB - armazena um blob, como indica o nome. Uma coluna INTEGER PRIMARY é uma exceção. Só aceita números inteiros. Qualquer valor em um comando SQL tem uma classe de armazenamento implícita. Durante a execução do comando SQL, o SQLite pode converter valores entre classes numéricas (INTEGER e REAL)

Lazarus - Criando relatórios com FortesReport (Parte I)

Para a criação de relatórios, o Lazarus já trás o componente LazReport, no entanto ele precisa ser instalado no IDE. Para fazer a instalação do pacote, acesse o menu Package -> Open package file (.lpk) . Localize o diretório de instalação do Lazarus e na pasta components abra lazreport e depois source . Abra o pacote lazreport.lpk , clique em Compile e depois em Install . Como já sabemos isso irá recompilar o IDE. Depois de inicializado novamente estará disponível a aba LazReport . Leia aqui um tutorial básico sobre o LazReport. No entanto queremos mostrar uma alternativa ao LazReport . Por essa razão, vamos apresentar neste artigo o FortesReport . Para quem conhece o QuickReport, que fazia parte do Delphi, não terá dificuldade de desenvolver com esse componente. Baixe o pacote aqui e instale. Os procedimentos são semelhantes aos que mostramos acima. Você terá uma nova aba chamada Fortes Report . Conectando o banco de dados O primeiro passo para criar a aplicação é fazer