PPEG
Autor: Pedro Luis Kantek Garcia Navarro
Desde o dia em que um micro entrou na minha casa, tenho feito muito sistemas, para os mais diversos fins, seja na CELEPAR, seja para uso particular.
Nesta hora, foi possível perceber que o termo “reaproveitamento de código” não é mera retórica e que quando levado às últimas conseqüências, ele realmente aumenta a produtividade do fazedor de software.
Cedo eu percebi, que só teria a ganhar se a estrutura básica dos sistemas fosse sempre igual. Concluindo isto, gastei um bom tempo pesquisando o que um bom sistema de micro deveria ter.
Coisas como menus drop-down, janelas, help contextual, software user-friendly, uso de pointing devices, bem como padrões rigorosos de nomenclatura foram definidos e depois, incorporados.
Neste estágio, eu sabia como fazer um sistema, que no meu julgamento era um bom sistema. O próximo passo foi automatizar o processo (agora fácil) de criar o esqueleto de uma nova aplicação. Nasceu aí o PPEG.
.
Trata-se de um programa que gera o esqueleto de um sistema Clipper, com todas as características de ergonomia positiva citadas acima. Aliás, o produto serve com o vitrine, de como ficará o sistema que está sendo gerado: ele terá a mesma “cara” que o PPEG. Até porque a última versão do PPEg foi compilada usando o próprio PPEG.
Fazem parte deste esqueleto:
* o programa supervisor
* toda a árvore de menus e submenus do sistema
* a criação dos arquivos dbase, cada um com índice
* todos os programas atuariais para manter os arquivos acima criados (Nota: Programa atuarial é um nome genérico para as transações de inclusão, alteração, exclusão e listagem simples seqüencial)
* programa de recriação de arquivos e índices
* programa de setup de impressoras RIMA e ELEBRA
* programa de contagem de itens e de histórico de versões
* programa de help contextual
Naturalmente, exceto nos casos triviais o PPEG não gera o sistema completo, ele apenas cria os esqueletos. Entretanto conhecendo a lógica de funcionamento dele, fica mais fácil alterar e incrementar o fonte Clipper gerado, do que começar tudo do início.
Outra vantagem, é que o código gerado pelo PPEG está 100% livre de erros de lógica e de compilação. A versão atual do PPEG é a 1.01, estando em preparativos o lançamento da versão 1.1. São estes os principais incrementos:
* migração do PPEG de Clipper Summer87 para versão 5 ( maior agilidade, e melhoria no interface homem máquina)
* inclusão nas rotinas atuariais de uma transação de BROWSE, que permitirá incluir, alterar e excluir em uma única tela ( como se fosse, por exemplo, um texto em ROSCOE)
* melhoria substancial no aspecto de ajudar o usuário a entrar com as informações necessárias, bem como consistí-las adequadamente antes de processar a geração dos programas PPEG hoje.
* Melhoria de pequeno bugs já relatados
O sistema é relativamente fácil de usar e exige o mínimo de informações necessárias para a geração do código. Acompanha a versão 1.01 um manual do usuário de 24 páginas.
Ele pode ser pedido, sem qualquer ônus, à DISUD pelo ramal 295. O software e o manual cabem em um disco de 360Kb.
Desde o dia em que um micro entrou na minha casa, tenho feito muito sistemas, para os mais diversos fins, seja na CELEPAR, seja para uso particular.
Nesta hora, foi possível perceber que o termo “reaproveitamento de código” não é mera retórica e que quando levado às últimas conseqüências, ele realmente aumenta a produtividade do fazedor de software.
Cedo eu percebi, que só teria a ganhar se a estrutura básica dos sistemas fosse sempre igual. Concluindo isto, gastei um bom tempo pesquisando o que um bom sistema de micro deveria ter.
Coisas como menus drop-down, janelas, help contextual, software user-friendly, uso de pointing devices, bem como padrões rigorosos de nomenclatura foram definidos e depois, incorporados.
Neste estágio, eu sabia como fazer um sistema, que no meu julgamento era um bom sistema. O próximo passo foi automatizar o processo (agora fácil) de criar o esqueleto de uma nova aplicação. Nasceu aí o PPEG.
.
Trata-se de um programa que gera o esqueleto de um sistema Clipper, com todas as características de ergonomia positiva citadas acima. Aliás, o produto serve com o vitrine, de como ficará o sistema que está sendo gerado: ele terá a mesma “cara” que o PPEG. Até porque a última versão do PPEg foi compilada usando o próprio PPEG.
Fazem parte deste esqueleto:
* o programa supervisor
* toda a árvore de menus e submenus do sistema
* a criação dos arquivos dbase, cada um com índice
* todos os programas atuariais para manter os arquivos acima criados (Nota: Programa atuarial é um nome genérico para as transações de inclusão, alteração, exclusão e listagem simples seqüencial)
* programa de recriação de arquivos e índices
* programa de setup de impressoras RIMA e ELEBRA
* programa de contagem de itens e de histórico de versões
* programa de help contextual
Naturalmente, exceto nos casos triviais o PPEG não gera o sistema completo, ele apenas cria os esqueletos. Entretanto conhecendo a lógica de funcionamento dele, fica mais fácil alterar e incrementar o fonte Clipper gerado, do que começar tudo do início.
Outra vantagem, é que o código gerado pelo PPEG está 100% livre de erros de lógica e de compilação. A versão atual do PPEG é a 1.01, estando em preparativos o lançamento da versão 1.1. São estes os principais incrementos:
* migração do PPEG de Clipper Summer87 para versão 5 ( maior agilidade, e melhoria no interface homem máquina)
* inclusão nas rotinas atuariais de uma transação de BROWSE, que permitirá incluir, alterar e excluir em uma única tela ( como se fosse, por exemplo, um texto em ROSCOE)
* melhoria substancial no aspecto de ajudar o usuário a entrar com as informações necessárias, bem como consistí-las adequadamente antes de processar a geração dos programas PPEG hoje.
* Melhoria de pequeno bugs já relatados
O sistema é relativamente fácil de usar e exige o mínimo de informações necessárias para a geração do código. Acompanha a versão 1.01 um manual do usuário de 24 páginas.
Ele pode ser pedido, sem qualquer ônus, à DISUD pelo ramal 295. O software e o manual cabem em um disco de 360Kb.