Hi!
ABAP es un lenguaje de programación increíble, y a menudo hay muchas formas de llegar al mismo resultado final. Pero como humanos, tendemos a aferrarnos a hábitos y hacer las mismas cosas de la misma manera siempre, a menos que conscientemente intentemos nuevas formas. Esperemos que estas formas sean buenas, pero para mejorar y evaluar necesitamos ser desafiados o desafiar nuestras ideas.
Una forma de probar cosas nuevas, de experimentar, de expandir y aprender, es escribir una o un par de soluciones a un desafío de programación no relacionado con el trabajo. No importa si eres un novato en ABAP y programación o si tienes 30 años de experiencia, puedes intentar resolverlo de alguna manera nueva y oscura.
Hacerlo sin relación con el trabajo puede liberarnos de las restricciones de requisitos, pautas, hábitos y rutinas. Pero esperemos que brinde un ROI positivo en nuestro conocimiento y, con suerte, aportará valor a nosotros mismos, a nuestros empleadores y clientes.
Compartir es cuidar
Compartir las soluciones también podría aportar valor y conocimiento a otros desarrolladores. He iniciado un repositorio donde pretendo recopilar acertijos y crear soluciones de ejemplo demostrativas utilizando los diversos aspectos del lenguaje ABAP, ¡y los invito a todos a unirse! Ya sea compartiendo acertijos o desafíos que consideren adecuados aquí, o proponiendo soluciones alternativas o comentarios.
El enlace al repositorio está al final de esta publicación, pero si desean probarlo ustedes mismos primero, sin verse influenciados por otras soluciones, esperen un poco antes de hacer clic en ese enlace.
FizzBuzz
Este es muy simple y se puede hacer de varias formas; buscar en el foro revela un par de publicaciones de blog que hablan al respecto. (Por ejemplo,
La pregunta de entrevista técnica ABAP de SAP que quizás nunca hayas escuchado
desde agosto del año pasado). Creo que es más grande fuera del mundo ABAP que dentro.
Fizz Buzz supuestamente es originalmente un juego infantil para practicar la división, con algunas reglas simples.
El primer jugador comienza diciendo el número 1 y los jugadores luego cuentan hacia arriba, uno a la vez, pero:
-
Si un número es divisible por 3, el jugador en su lugar dice 'Fizz'
-
Si un número es divisible por 5, el jugador en su lugar dice 'Buzz'
-
Si un número es divisible por ambos 3 y 5, el jugador dice 'FizzBuzz'
Así que comenzaría así:
1, 2, Fizz, 4, Buzz, Fizz, 7, 8, Fizz, Buzz, 11, Fizz, 13, 14, FizzBuzz, 16, 17, Fizz, 19, Buzz, Fizz, 22, 23, Fizz
El desafío aquí es implementar esto en ABAP para mostrar las primeras 100 rondas del juego FizzBuzz.
¡Diviértanse!
Y luego estaba el repositorio
Les traeré más acertijos en el futuro si creen que disfrutarían eso. El lugar central para ellos será
este repositorio en GitHub
. Actualmente solo hay FizzBuzz con un par de soluciones de ejemplo con varios grados de 'calidad'.
😁
Y por favor, compartan sus soluciones interesantes aquí en los comentarios o en el repositorio. Con gusto agregaré soluciones alternativas adicionales a la clase fizzbuzz allí (con explicaciones si es necesario). Ya sea mediante una solicitud de extracción o pidiéndome que lo haga.