Olá!
ABAP é uma linguagem de programação incrível e muitas vezes existem várias maneiras de chegar ao mesmo resultado final. No entanto, como seres humanos, tendemos a nos apegar a hábitos e fazer as mesmas coisas da mesma maneira sempre, a menos que conscientemente tentemos novas abordagens. Esperamos que essas abordagens sejam boas, mas para melhorar e avaliar, precisamos ser desafiados ou desafiar nossas ideias.
Uma maneira de experimentar coisas novas, de expandir e aprender, é escrever uma ou algumas soluções para um desafio de programação não relacionado ao trabalho. Não importa se você é um novato em ABAP e programação ou se tem 30 anos de experiência, você pode tentar resolvê-lo de uma maneira nova e diferente.
Fazer isso sem relação com o trabalho pode nos libertar das restrições de requisitos, diretrizes, hábitos e rotinas. Mas esperamos que traga um ROI positivo em nosso conhecimento e, esperançosamente, agregue valor a nós mesmos, aos nossos empregadores e clientes.
Compartilhar é se importar
Compartilhar as soluções também pode adicionar valor e conhecimento a outros desenvolvedores. Iniciei um repositório onde pretendo reunir enigmas e criar soluções de exemplo demonstrativas usando os vários aspectos da linguagem ABAP, e convido todos a participarem! Seja compartilhando enigmas ou desafios que considerem apropriados aqui, ou propondo soluções alternativas ou comentários.
O link para o repositório está no final desta publicação, mas se desejarem experimentá-lo primeiro, sem serem influenciados por outras soluções, esperem um pouco antes de clicar nesse link.
FizzBuzz
Este é muito simples e pode ser feito de várias maneiras; uma busca no fórum revela algumas postagens de blog que falam sobre isso. (Por exemplo,
A pergunta de entrevista técnica ABAP da SAP que talvez você nunca tenha ouvido falar
desde agosto do ano passado). Acredito que é mais popular fora do mundo ABAP do que dentro.
Fizz Buzz supostamente é originalmente um jogo infantil para praticar divisão, com algumas regras simples.
O primeiro jogador começa dizendo o número 1 e os jogadores contam em sequência, um de cada vez, mas:
-
Se um número é divisível por 3, o jogador diz 'Fizz' em vez disso
-
Se um número é divisível por 5, o jogador diz 'Buzz' em vez disso
-
Se um número é divisível por ambos 3 e 5, o jogador diz 'FizzBuzz'
Assim começaria:
1, 2, Fizz, 4, Buzz, Fizz, 7, 8, Fizz, Buzz, 11, Fizz, 13, 14, FizzBuzz, 16, 17, Fizz, 19, Buzz, Fizz, 22, 23, Fizz
O desafio aqui é implementar isso em ABAP para mostrar as primeiras 100 rodadas do jogo FizzBuzz.
Divirtam-se!
E então veio o repositório
Trarei mais enigmas no futuro se acharem que gostariam disso. O local central para eles será
este repositório no GitHub
. Atualmente, há apenas FizzBuzz com algumas soluções de exemplo com vários níveis de 'qualidade'.
?
E por favor, compartilhem suas soluções interessantes aqui nos comentários ou no repositório. Ficarei feliz em adicionar soluções alternativas adicionais à classe fizzbuzz lá (com explicações, se necessário). Seja por meio de uma solicitação de pull ou pedindo-me para fazê-lo.