Versionando

5 Junho 2009

application-x-applix-spreadsheetUma tarefa importante da rotina de todo programador envolve o controle de versões dos seus aplicativos. Afinal, potência não é nada sem controle. E controle é tudo, principalmente se for preciso programar no modo defensivo ou com uma equipe grande.

Há várias ferramentas pra controle de versões dos projetos, mas estas serão assunto de um outro artigo. Por ora veremos o significado que podem ter aqueles números misturados com pontos.

Dígitos:

1 . 0 . 0 . 1
V . S . B . C


V = Versão Base
S = Sub versão
B = Bugs Corrigidos
C = Compilação

Versão Base
Alterada somente em mudanças radicais do aplicativo envolvendo novos paradigmas ou compatibilidade.
Ex : mudança de protocolo de comunicação, mudança de regras essenciais.

Sub versão
Modificações nas funções internas, novas funcionalidades ou uma nova biblioteca.

Bugs Corrigidos
Registra correção de erros de programação. Desejável que os bugs corrigidos sejam documentados a cada versão.

Compilação
Utilizada para controle interno do programador.
Incrementada geralmente a cada compilação completa do aplicativo e seus módulos.

Convencões Opcionais

Com o uso foram assumidas outras convenções para a numeração das versões:

0.0.1 a 0.0.9 – Versão Alpha – Apenas para uso interno
0.1.0 a 0.9.0 – Versão Beta – Versão de testes – não comercial.
1.0.0 em diante – Versão Final – Versão para distribuição.

Há ainda o controle de versões de testes ou instáveis e versões estáveis:

1.0, 1.2, 1.4 – Numeração com dígitos de subversão pares indicam versões estáveis.
1.1, 1.3, 1.5 – Numeração com dígitos de subversão ímpares indicam versões instáveis ou de testes.

Exemplos

0.0.5 – Versão Alpha
0.1.3 – Versão Beta instável
0.4.1 – Versão Beta estável
1.0.0 – Versão Final estável.
1.3.1 – Versão Final instável ou em testes.
1.4.0 – Versão Final estável
1.4.2 – Versão Final estável atualizada com correção de bugs
1.5.0 – Versão Final estável com novas funções em relação á 1.4
2.0.0 – Nova versão de produto, incompatível com versões anteriores.
2.0.1 – Nova versão de produto com bugs corrigidos.

Pra constar : estas são apenas sugestões de uso. Fique á vontade para adaptar á política local de sua empresa ou ao seu uso pessoal.

Bom proveito!


Syntax Highligth no WordPress

3 Junho 2009

Navegando

page_previewEu andei pesquisando aqui no WordPress blogs sobre Delphi, e descobri muitos posts legais.
Mas navegando entre textos mais interessantes e aqueles mais apagados, percebi que muitos não usam o recurso de “syntax highlight” disponível no WordPress.

Ao passo que alguns usam o texto simples, outros usam até imagens, ás vezes pesadas, contendo o código. Alem de dificultar a navegação, ainda tira a possibilidade de copiar e colar o código.

Com o destaque da sintaxe nos exemplos de código, a leitura fica mais fácil e ajuda bastante na compreensão, além de dar uma aparência mais profissional. Veja a diferença:

Código Normal
procedure TForm1.Edit1Change(Sender: TObject);
var
OldStart : Integer;
begin
With Edit1 do
if Text ” then
begin
OnChange := NIL;
OldStart := SelStart;
Text := UpperCase(Copy(Text,1,1))+
LowerCase(Copy(Text,2,Length(Text)));
SelStart := OldStart;
OnChange := Edit1Change;
end;
end;

Código com texto formatado.

procedure TForm1.Edit1Change(Sender: TObject);
var
      OldStart : Integer;
begin
With Edit1 do
    if Text <> '' then
    begin
        OnChange := NIL;
        OldStart := SelStart;
        Text := UpperCase(Copy(Text,1,1)) +
                   LowerCase(Copy(Text,2,Length(Text)));
         SelStart := OldStart;
         OnChange := Edit1Change;
     end;
end;

Pensando nisso, resolvi ilustrar nesta rapidinha como usar o destaque de sintaxe pra dar um charme a mais no seu blog. Quer saber como faz? Veja o exemplo a seguir.

Leia o resto deste post »


O básico sempre é básico.

31 Março 2009

Lembra como faz pra criar um novo arquivo texto no Delphi? Esqueceu a função? Pois é, eu sempre esqueço algumas coisas elementares também. O site Delphi Basics é minha ajuda nestas horas. Tudo o que é essencial na linguagem é explicado de forma simples e didática.

Até algumas funções óbvias ou mais simples  são explicadas nele.  O fato é que muitas vezes nos perguntam o porquê de um comando óbvio e não sabemos explicar.   Aproveite então esta sopa do básico,  pra crescer forte na linguagem. Até a próxima!


Pilhas, filas e listas (Parte III)

21 Maio 2008

A parte sobre listas encerra nosso tutorial, mas não encerra o assunto. Questões diversas sobre performance e gerenciamento de memória  podem ser abordadas em artigos futuros.

Listas para todos

Seja a lista de procurados do FBI ou uma simples lista de feira, toda lista precisa satisfazer algum critério e obedecer certa ordem para ser útil.

Uma lista funcional deve permitir incluir e excluir itens. Deve fornecer um método de ordenação para uma busca em seu conteúdo. Geralmente é fornecido também um método para modificar a posição do item se for necessário.

Há um grupo de classes no Delphi que fornecem a implementação de uma lista básica com os requisitos acima. Este grupo inclui entre outras a TList, TStringList e a classe que nos interessa : TObjectList.

Leia o resto deste post »


Pilhas, Filas e Listas (Parte II)

10 Janeiro 2008

Filas

Sim, eu odeio filas. Mas em programação, filas podem facilitar muito a vida, colocando ordem em nossas rotinas.

Haverá situações em que será necessário garantir que o primeiro elemento adicionado a uma lista seja o primeiro a ser tratado. Esta regra é conhecida como FIFO (first in, firs out- primeiro a entrar, primeiro a sair)

Uma das classes do Delphi que permite tratar um conjunto de objetos obedecendo esta regra é a TObjectQueue (fila de objetos), a segunda classe container deste tutorial.
Leia o resto deste post »