Introdução

O PL/I é uma linguagem de programação desenvolvida para ambientes empresariais, mas muitas vezes é necessário integrar novas ferramentas e práticas modernas para garantir a qualidade e a eficiência no desenvolvimento de software. Neste tutorial, vamos explorar como integrar ferramentas modernas com frameworks de teste em aplicações escritas em PL/I. Iremos discutir o ciclo de desenvolvimento completo, incluindo práticas de testes unitários que ajudarão a validar e garantir a qualidade do código legado. Este artigo visa não apenas auxiliar desenvolvedores a compreenderem como utilizar ferramentas contemporâneas, mas também a destacar a importância da qualidade em ambientes legados, onde o PL/I ainda desempenha um papel crucial.

Etapas

  1. Preparando o Ambiente de Desenvolvimento

    Para começar, assegure-se de que o ambiente de desenvolvimento esteja configurado corretamente. É recomendável ter o ambiente de execução do PL/I além de um editor de texto adequado. Ferramentas como o IBM Developer for z/OS podem ser muito úteis. Instale as ferramentas necessárias e configure seu ambiente.

    commands
    # Instalar IBM Developer for z/OS
    # Configurar acesso ao ambiente PL/I

  2. Instalação de Ferramentas Modernas

    Instale e configure ferramentas modernas que facilitarão a integração e testes. Ferramentas como o Jenkins para integração contínua, SonarQube para análise de qualidade de código e outros frameworks de testes podem ser integrados ao seu projeto PL/I. Certifique-se de que as ferramentas estão acessíveis e configuradas para interagir com seu código legados.

    commands
    # Instalar Jenkins
    # Instalar SonarQube

  3. Integração de Ferramentas de Teste

    Escolha um framework de teste que seja compatível com o PL/I. Uma boa opção é o IBM Unit Test Framework. Importe a biblioteca e crie uma estrutura básica de testes para suas rotinas. Um teste unitário deve ser criado para cada função crítica de sua aplicação.

    test_example
    dcl proc test_my_function;
      dcl var result fixed bin(31);
      result = my_function(1,2);
      assert(result = 3);
    end;

  4. Escrevendo Testes Unitários

    Implemente testes unitários para suas funções chave. Utilize a sintaxe do IBM Unit Test Framework para criar testes que validarão a lógica dos seus métodos PL/I. Mantenha seus testes organizados em pastas específicas para facilitar o gerenciamento.

    test_example_2
    dcl proc test_another_function;
      dcl var result fixed bin(31);
      result = another_function(5);
      assert(result = true);
    end;

  5. Configuração do Jenkins para Execução de Testes

    Configure o Jenkins para executar seus testes automaticamente a cada alteração. Crie um novo job de freestyle que execute um script PL/I que, além de compilar, também execute seus testes unitários. Isso garante que a qualidade do código seja mantida a cada iteração.

    jenkins_pipeline_example
    pipeline {
      agent any
      stages {
        stage('Build') {
          steps {
            sh 'compile_my_pl1_code.sh'
          }
        }
        stage('Test') {
          steps {
            sh 'run_tests.sh'
          }
        }
      }
    }

  6. Análise de Qualidade com SonarQube

    Utilize o SonarQube para analisar o código PL/I. Configure a integração entre o Jenkins e o SonarQube para que a análise de qualidade seja realizada após os testes. Isso permitirá identificar problemas potenciais no código antes de ele ser promovido para ambientes de produção.

    sonarqube_configuration
    # Configure um scanner para PL/I no SonarQube

  7. Executando o Ciclo de Desenvolvimento Completo

    Execute o ciclo completo de desenvolvimento, que inclui modificar, compilar e testar o código, e sempre realize a análise de qualidade. Este é um processo contínuo que requer disciplina para garantir que o código PL/I permaneça em alta qualidade.

    commands
    # Executar Jenkins
    # Monitorar resultados no SonarQube

Conclusão

Neste tutorial, você aprendeu sobre a integração de ferramentas modernas com aplicações legadas em PL/I. Essa abordagem não apenas ajuda a manter a qualidade do código, mas também melhora a eficiência do processo de desenvolvimento. Implementando práticas de testes com ferramentas como Jenkins e SonarQube, você garante que a lógica do seu código permaneça intacta e que a qualidade da entrega final cumpra os padrões necessários. A modernização de ambientes legados, mais do que uma necessidade, se torna uma vantagem competitiva quando feita corretamente.

Hashtags

#PLI #DesenvolvimentoLegado #IntegraçãoContínua #TestesUnitários #SonarQube #Jenkins