Pular para o conteúdo principal

Postagem em destaque

BlackTDN :: LeetCode (17) :: Comparando Implementações do Desafio "Letter Combinations of a Phone Number" em Harbour e TOTVS TLPP

_Créditos das imagens: ChatGPT_ # LeetCode (17) :: Comparando Implementações do Desafio "Letter Combinations of a Phone Number" em Harbour e TOTVS TLPP O desafio [**"Letter Combinations of a Phone Number"**](https://leetcode.com/problems/letter-combinations-of-a-phone-number/description/) (Combinações de Letras de um Número de Telefone) é um problema clássico de programação que envolve a geração de todas as combinações possíveis de letras que um número de telefone pode representar, com base no mapeamento tradicional dos teclados de telefone. Abaixo, comparamos duas implementações desse desafio: uma em **Harbour** e outra em **TOTVS TLPP** (TOTVS Language Plus Plus). ## O Desafio Dada uma string contendo dígitos de 2 a 9, retorne todas as combinações possíveis de letras que esses dígitos podem representar. O mapeamento dos dígitos para as letras é o mesmo dos teclados de telefone tradicionais: - 2: "abc" - 3: "def" - 4: "ghi" - 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