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というモジュールまで公開している。確信犯に違いない。こんな酷いスライドが沢山の人に見られて,釣られて酷いコードを書く人が増えませんように。