akanehara / ginq

`LINQ to Object` inspired DSL for PHP
MIT License
193 stars 18 forks source link

joinにまつわる名前の問題 #15

Closed akanehara closed 11 years ago

akanehara commented 11 years ago

Ginqがイテレータのkeyを意識していなかった頃のjoinの引数は

join($outerKeySelector, $innerKeySelector, $joinSelector)

で、keyという言葉がは結合キー「だけ」を指していた。

ところが、現在は反復子のキーにも key という言葉を使っているために

join(
    $outerKeySelector, $innerKeySelector,
    $valueJoinSelector, $keyJoinSelector
)

となってしまっており、どれが結合キーを表すのかとてもわかりづらい。

これらについて考えたい。

akanehara commented 11 years ago

join や groupBy, orderBy を通じて 比較キーを outerCompareKeySelector outerCompareKeySelector 結果ペアを resultValueSelector resultKeySelector と一貫して名付ける。