DEV Community

Baltasar García Perez-Schofield
Baltasar García Perez-Schofield

Posted on • Edited on

¿Y si Python permitiera 'end' como fin de bloque?

En Python, los bloques de código (el código dentro de un bucle, por ejemplo) se marcan utilizando indentación. Es decir, a partir de la siguiente línea que termina con dos puntos (':'), cada instrucción tiene que estar indentada hacia la derecha, hasta el final del bloque.

for _ in range(10):
    print("Python mola!")
Enter fullscreen mode Exit fullscreen mode

Normalmente, no supone un gran problema, pero hay un escenario que me pone "muy malo", como se puede ver a continuación.

i = 0
while i < 10:
    if i % 2 == 0:
        i += 2

    i += 1
Enter fullscreen mode Exit fullscreen mode

Me refiero al final de ambos bloques, el del if y el del while. Para mi, esas dos instrucciones de incremento de i es como si quedasen descolgadas.

Veamos ahora si se pudiera utilizar end como recurso sintáctico para delimitar el final de los bloques. Esto es algo que proporciona Juía y multitud de dialectos de BASIC. ¿Cómo quedaría?

i = 0
while i < 10:
    if i % 2 == 0:
        i += 2
    end

    i += 1
end
Enter fullscreen mode Exit fullscreen mode

Para mi queda todo mucho más ordenado y limpio... sería como decía, un recurso sintáctico, no tendría que traducirse en nada al código objeto, y sería opcional.

¿Y tú, como lo ves? ¿Sería tan terrible?

Sentry image

See why 4M developers consider Sentry, “not bad.”

Fixing code doesn’t have to be the worst part of your day. Learn how Sentry can help.

Learn more

Top comments (0)

Billboard image

Create up to 10 Postgres Databases on Neon's free plan.

If you're starting a new project, Neon has got your databases covered. No credit cards. No trials. No getting in your way.

Try Neon for Free →

👋 Kindness is contagious

Please leave a ❤️ or a friendly comment on this post if you found it helpful!

Okay