このサイトについて

Python Worst Practiceが酷すぎる

Python Worst Practiceが酷すぎる

Python Worst Practiceというのを見つけたのだがこれが酷すぎる。たとえば

id = 34
object = str
map = Map()
zip = 90213

こういうことをすると組み込みの関数や名前を隠蔽(上書き)して大変なことになる。クラス定義すらできなくなってしまう。

>>> object = str
>>> class Klass(object):
...     pass
...
Traceback (most recent call last):
  File "", line 1, in
TypeError: Error when calling the metaclass bases
    str() takes at most 1 argument (3 given)

これも,Python的に出来るか出来ないかで言うと「出来る」のだが,とんだ罠だ。

True = False
False = True

TrueとFalseが両方ともFlaseになって,プログラムがまともに動かない。

>>> True = False
>>> False = True
>>> True
False
>>> False
False
>>>

はたまた,

foo = [1, 2, 3]

for i, item in zip(range(len(foo)), foo):
    print i, item

というようなコードが貼り付けてあって「Don't use enumerate !」なんて書いてある。酷いコードの例をあえて紹介して,べからず集として機能させよう,みたいな釣りなのかと勘ぐってしまうほどこれはひどい。きっと勘ぐり過ぎだと思うが。そうだ勘ぐり過ぎに違いない。

作者は「import that」とするとAnti-Zenと呼ばれる文章を表示するAnti-Zen of Pythonというモジュールまで公開している。確信犯に違いない。こんな酷いスライドが沢山の人に見られて,釣られて酷いコードを書く人が増えませんように。

2011-05-12 00:51