Pular para o conteúdo principal

Postagem em destaque

BlackTDN :: LeetCode :: Comparando Implementações Harbour e TLPP para o Desafio Longest Palindromic Substring

_Créditos das imagens: ChatGPT_ ### LeetCode :: Comparando Implementações Harbour e TLPP para o Desafio Longest Palindromic Substring Resolver o problema do [Longest Palindromic Substring](https://leetcode.com/problems/longest-palindromic-substring/description/) é um exercício clássico de programação, que desafia desenvolvedores a encontrar a maior substring palindrômica dentro de uma string. Recentemente, exploramos soluções tanto em Harbour quanto em TLPP (Total Language Protheus Programming). Neste artigo, comparamos as implementações nessas duas linguagens, destacando suas semelhanças, diferenças e funcionalidades específicas. #### Implementações em Harbour ##### Versão 5.1 Essa solução utiliza a técnica de expansão a partir do centro do palíndromo. Cada caractere ou par de caracteres consecutivos é considerado um possível "centro". O algoritmo expande em ambas as direções enquanto os caracteres forem iguais, retornando o maior palíndromo encontrado. ##### Versão 5....

BlackTDN :: Garantindo Qualidade no Código: Como check.hb e commit.hb Podem Ajudar no Desenvolvimento Harbour e AdvPL/TLPP



_Créditos da imagem: Gerada com auxílio do ChatGPT_

**Título do Post: Garantindo Qualidade no Código: Como check.hb e commit.hb Podem Ajudar no Desenvolvimento Harbour e AdvPL/TLPP**

**Introdução**  
Manter a qualidade do código em projetos desenvolvidos em linguagens como Harbour e AdvPL/TLPP (versões baseadas em xBase) é essencial para garantir a confiabilidade e o desempenho das aplicações. No caso do AdvPL/TLPP, amplamente utilizado para criar regras de negócios no ERP Protheus da TOTVS, a validação prévia do código é especialmente importante. Neste post, apresentaremos como os scripts `check.hb` e `commit.hb` podem ser utilizados para validar esses projetos antes de realizar o commit no GitHub.

**Por que validar antes do commit?**  
A validação prévia do código traz diversos benefícios:  
- **Prevenção de erros**: Evita que códigos com problemas de sintaxe ou fora do padrão sejam enviados para o repositório.  
- **Manutenção de padrões**: Garante que o código segue boas práticas e conformidade com o estilo estabelecido pela equipe.  
- **Redução de retrabalho**: Detecta e corrige problemas antes que eles causem impactos em ambiente compartilhado ou produção.  

**Os Scripts: `check.hb` e `commit.hb`**  
Esses scripts são ferramentas versáteis que ajudam no controle de qualidade de projetos em Harbour e AdvPL/TLPP.  

1. **`check.hb`**  
   Valida o código de forma estática, analisando:  
   - Erros de sintaxe;  
   - Padrões de codificação;  
   - Regras específicas definidas no arquivo `.gitattributes`.  

2. **`commit.hb`**  
   Complementa o `check.hb`, automatizando o processo de commit apenas após validações bem-sucedidas. Isso assegura que códigos com problemas não sejam enviados ao repositório.

**O papel do arquivo `.gitattributes`**  
Esses scripts utilizam o arquivo `.gitattributes` para aplicar validações específicas em determinados arquivos do projeto. Esse arquivo pode ser configurado para:  
- Definir padrões de codificação e formatação;  
- Especificar tipos de arquivos ou extensões que devem ser verificados;  
- Controlar regras de normalização de conteúdo.  

Um exemplo de arquivo `.gitattributes` pode ser encontrado no repositório:  
[.gitattributes](https://github.com/naldodj/naldodj-embaralha/blob/main/.gitattributes)  

**Pré-requisitos: o `hbrun.exe`**  
Para executar os scripts, é necessário o interpretador Harbour, `hbrun.exe`. Certifique-se de que ele esteja configurado no ambiente para processar os arquivos `.hb`.

**Como usar os scripts**  
1. **Faça o download**  
   Obtenha os scripts nos seguintes links:  
   - [check.hb](https://github.com/naldodj/naldodj-embaralha/blob/main/bin/check.hb)  
   - [commit.hb](https://github.com/naldodj/naldodj-embaralha/blob/main/bin/commit.hb)  

2. **Execução inicial**  
   Na primeira execução do `commit.hb`, o arquivo `.git/hooks/pre-commit` será configurado automaticamente, garantindo que a validação ocorra sempre antes dos commits.  

3. **Fluxo de trabalho**  
   - **Configure o `.gitattributes`** para incluir regras de validação personalizadas.  
   - Valide o código com o `check.hb` antes de realizar alterações importantes.  
   - Utilize o `commit.hb` para automatizar o processo e garantir que o código validado seja enviado ao repositório.

**Validação em Harbour e AdvPL/TLPP**  
Além de validar projetos Harbour, esses scripts também funcionam perfeitamente para códigos AdvPL/TLPP, usados na implementação de regras de negócios do ERP Protheus. Isso os torna uma ferramenta poderosa e unificada para desenvolvedores que trabalham em projetos xBase.  

**Conclusão**  
O uso dos scripts `check.hb` e `commit.hb` integrados com o `.gitattributes` ajuda a elevar o nível de qualidade nos projetos Harbour e AdvPL/TLPP. Com validações prévias automatizadas, você reduz a chance de erros, garante conformidade com padrões e mantém a consistência em projetos de qualquer escala.

**E você?**  
Já utiliza ferramentas de validação automática no desenvolvimento em Harbour ou AdvPL/TLPP? Teste os scripts e compartilhe suas experiências conosco! 😊  

---  


Comentários

Postagens mais visitadas