俺は自分の作ったプログラムの説明が絶望的に下手糞だが、それはきっとプログラム自体がダメだからなのだろう。
じゃあリファレンスが優れていれば、優れたソースコードといえるのか? これはまだわからん。
ふとしたきっかけで見付けたのだけれど、 ASPN でメモ化と decorator でキャッシュ関数を作るというのが投稿されていた。で、俺はこのコードの以下の部分が気にくわない。
def _getKey(self,*args,**kwds): return kwds and (args, ImmutableDict(kwds)) or args
これは kwds が空でなければ args と変更不可能な辞書のタプルを返し、そうでなければ args 単体を返すというものだ。でもさ、これってこう書いた方がわかりやすくないか?
def _getKey(self,*args,**kwds):
if kwds:
return (args, ImmutableDict(kwds))
else:
return args
return x or y 程度であればそっちでも意味が自明だとは思う。でも例にあげたコードみたいに論理演算子をずらずら繋げていくのはちょっと。
因みに俺は条件演算子は大嫌い。 Python に条件演算子が無いのは正解だと思っているし、そんなものを使うぐらいなら上記のコードみたいに cond and r1 or r2 の方がましだろう。
俺は生き方がロックだのハードボイルドだの言われているのだけど、それってつまりは俺がどうしようもない社会不適格者ってことだよな。だってほら、ハードボイルドもロックも、生きるのが絶望的に下手糞な連中が自殺しない回路として作り出した概念だから。
じゃあはたして俺は本当に生きるのが下手糞なのかと考えてみるが、そもそも上手な生き方ってなんなんだろう? ふと思ったのだけど、大人になるというのは上手な生き方を見付けるというのと同義なんじゃないか? じゃあ、生きるのが下手糞ってことはガキな証拠なのか? これはこれで納得できる。
ボージョレー・ヌーヴォーとかいう奴を初めて飲んだ。そもそも酒は苦手なので、なんとも言い難いのだが。そんなに有難がるものじゃあないような。
あと生まれて初めて七面鳥を食った。こっちは旨かった。
ここ二日ほど朝飯を食ってないことに気がついた。明日こそはキチンと食うことにしよう。