O artigo do blog sobre
Abap no Exercism
publicado por
lars.hvam
veio no momento perfeito para mim, pois tive uma semana livre no trabalho logo em seguida! Isso me deu tempo suficiente para explorar essa nova e bastante intrigante oferta que a equipe apresentou em uma
transmissão ao vivo no YouTube
em 1 de abril. Se, assim como eu, você nunca ouviu falar do
Exercism
antes, assistir ao vídeo de 1 hora é um tempo bem investido para ter uma ideia do que é e como funciona, sem mencionar a quantidade de trabalho investida para torná-lo disponível por (pelo menos) Lars,
dj.adams.sap
,
mike.pokraka
,
marc.bernard
,
20eed143c19f4b82bc4cf049916102cb
,
thomas.jung
e
rich.heilman
.
Depois de ler o artigo do blog de Lars e assistir à transmissão ao vivo, rapidamente criei uma conta no Exercism e comecei a me familiarizar com a plataforma e como funciona. Até agora, existem 24 exercícios de ABAP disponíveis, a maioria dos quais estão categorizados como "fáceis".
Para cada um desses exercícios, você receberá uma descrição do que deve programar e poderá começar imediatamente no navegador para abordar um deles no editor integrado (ou instalar o Exercism localmente). Você não precisa começar do zero, mas recebe a definição da classe e métodos básicos como ponto de partida.
Em vez de executar a classe, você executa os casos de teste fornecidos para descobrir se seu código funciona. Você pode fazer isso mesmo antes de adicionar algum código próprio para ter uma melhor ideia do que é esperado. Não surpreendentemente, a maioria dos testes falhará, mas alguns podem funcionar, talvez simplesmente porque esperam "0" ou "espaço" como resultado. Para cada teste falhado, você verá o resultado esperado e o real, o que servirá como indicação do que você pode precisar ajustar.
Uma vez que seu código passe em todos os testes, você pode publicar sua solução para que outros vejam e também terá acesso às soluções da comunidade que já estão disponíveis, as quais você pode comparar com sua própria solução. Se você não entender por que algo funciona, por exemplo, e algo que tentou não funcionou como esperado, também pode solicitar tutoria para iniciar uma discussão sobre sua solução com um dos mentores voluntários.
Minhas conclusões
Pode ser surpreendentemente complicado obter a sintaxe correta para as declarações de ABAP necessárias (e muitas vezes bastante simples) sem ter a conclusão de código ou verificações de sintaxe disponíveis imediatamente na GUI ou ADT. Isso me fez perceber o quão mimados estamos ao trabalhar dentro de um sistema SAP em código ABAP, já que tive que consultar a documentação online de ABAP mais de uma vez para obter a sintaxe correta, porque não tinha um sistema disponível quando abordei alguns dos exercícios pela primeira vez.
Por não estar ainda familiarizado com a (na verdade não tão) nova sintaxe de ABAP disponível desde NW 7.40, muitas vezes chegava a uma solução que passava em todos os testes, mas era muito mais complicada do que o necessário com a "nova" sintaxe. Aqui é onde as soluções da comunidade podem fornecer uma experiência de aprendizado bastante útil ao comparar a minha com a de outros e testar algumas das outras opções em uma segunda ou terceira iteração.
Outra coisa que gosto nos exercícios são os casos de teste fornecidos para cada um deles. Estes fornecem exemplos simples de seguir e entender sobre como codificar uma classe de teste local, algo que certamente será útil mais adiante quando surgir a oportunidade de utilizar casos de teste por conta própria.
Encontrei alguns problemas que realmente não conseguia entender, onde me perguntava o que estava acontecendo e/ou o que estava fazendo errado (sempre uma possibilidade distinta!). Seguindo a sugestão de Lars em resposta ao
meu comentário
em seu artigo do blog, comecei a criar problemas no