Abreviações exageradas são desagradáveis

março 17th, 2012 | 0 comments

A primeira vez que estudei um bloco condicional, em Python, pensei: “Mas o que é isso?

if aposta == segredo:
        print("VOCÊ ACERTOU!!!!! O número era {:d}.".format(segredo))
    elif aposta > segredo:
        print("Você errou! O número secreto é menor.")
    else:
        print("Você errou! O número secreto é maior.")

O que vem a ser elif? …

Abreviações são chatas. Até compensam, quando encurtam palavras longas. Mas abreviar else if para elif tornou o termo incompreensível.

Me pergunto qual será a explicação para isto…

Outra abreviação desnecessária, no Python, é str. Para a Rede Globo, é uma equipe de Fórmula 1. Em Python, é uma designação inútil para string, porque se a declaração de variáveis, não exige a declaração do tipo, str não precisará ser utilizado para economizar código.

Qual a vantagem em abreviar três letras e deixar o termo incompreensível? Quem aprende Python, nem sempre tem o palpite certo sobre o significado de alguma abreviação. Ou seja: a abreviação gera confusão.

Vejamos algumas das abreviações passíveis de questionamento:

random.randint()
''' rand? randbol? rand = mão? Não: rand vem de random.
Economiza 2 letras.'''
len()
''' Um leigo pergunta: "O que é len?"
Um especialista em Python responde: "length."
E o leigo suspira: "Ah...". Economizou 3 letras.'''
setattr()
''' se property() e callable() não foram abreviados,
porque setattribute foi? Ecenomizou 5 letras, em troca
de confusão.'''
println()
/* Esta é a variação Groovy/Scala do System.out... Será que
todos sabem que ln significa line? Economiza 2 letras.*/

Então, mais um ponto importante para a nova linguagem:

  1. Não exagere nas abreviações.

Deixe um Comentário

O seu endereço de email não será publicado Campos obrigatórios são marcados *

*

Você pode usar estas tags e atributos de HTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> <pre lang="" line="" escaped="" highlight="">