[Python] 酷いコード
久しぶりに眩暈がするコードを見た。仕事で使うのでなければ、即座に解読を放棄しただろう。それができないからこそ苛立っているわけだが。
問題のコードは Python の標準モジュール logging だ。動作がよくわからないし場合によってはカスタムする必要があるかもしれないので、中をあけてみることになったのだが、これはわたしが「邪悪なオブジェクト指向」と呼んでいる、所謂クラス・継承至上主義のコードだった。何が酷いってたった一つのメソッドを解読するために幾つものクラス、複数のファイルを行き来しなきゃならない。
つまり、goto 文がそこらじゅうに、頻繁に埋め込まれているようなものなのだ。
あなたが経験豊富な C 言語のプログラマなら、goto 文をこれでもかとちりばめたスパゲティを目にしたことがあると思う ( しかもそれを作った担当者はもう現場にいない )。そのときの状況を想像してほしい。Python ではインデントが強制されるので C 言語よりは幾分ましだが、まぁ似たようなものだ。
クラスとか継承を無駄に多用したところで「オブジェクト指向」にはなりえないのだ。
と書きつつ、動的生成コードを書いて顰蹙を買ったわたしがここにいる・・・( ´・ω・`)
(言い訳をさせてもらえば, 先入観を捨ててからコードを見てほしいのだが。)
| 固定リンク
この記事へのコメントは終了しました。
コメント