/ 最近 .rdf 追記 編集 設定 本棚

脳log[20150514]



2015年05月14日 (木) 量・数、フラグ・オプション、状態、パターン。「複雑さについて思うこと。 - 結城浩の連ツイ」■繰り返しやパターンを共通部分とバリエーション、つまりひとつのコードと多数のデータ(※データが実行可能な場合もある)で表現するのでなく、コードのコピペ改変で実現してしまうのは愚かだけど、もっとも愚かなのは、指数関数的に爆発しかねない組み合わせを、ファクターではなく結果ごとにコードにすることではないだろうか。だからフラグが嫌い。ストレートなコードを直列につなぎ合わせて入力を望みの出力へ導きたい。直列でなければ Map & Reduceで。■■■@2016-08-16 つまりこういうこと。「クソコードレビュー会なるものに参加してきた - そんな今日この頃でして、、、」。二者のじゃんけんを実装したこのクソコードには if文による分岐が9含まれている。じゃんけんのルールは三すくみだというのに、9つものルールは存在しないというのに。コードに必要な分岐は3つだけであって欲しいし、それを表引きにしてデータに判断させるのが人間にわかりやすく網羅的で最良。特に二者間では。■どうしても二者に最適化したコードを書くのは抵抗がある。YAGNIと言われようとも。>クソコードと呼ばないで(1.8KiB)■最初に相子を判定して除外するとか、全体を見回してから判断するというのを避けたいという動機があったのだけど、どうやら達成できていないし、全体をスキャンする過程で勝ちの手と負けの手をピックアップしていくのが判定関数の出力としては良かった。小さいし、相子判定が出次第スキャンを中断できるし。