haushinka2dx / atmosphere-web

1 stars 2 forks source link

applied complement algorithm MRU. #71

Closed haushinka2dx closed 10 years ago

haushinka2dx commented 10 years ago

ユーザーとグループの補完をする際に、候補を表示する際のロジックを MRU(Most Recently Used) に変えました。 簡単に言うと よく使うものが上に来る です。

haushinka2dx commented 10 years ago

毎回 Local Storage から読んでいるのが気になるけど、まあいいか…。

kannokanno commented 10 years ago

:+1: (コードは見れていないですが)

shunsuke-suzuki-zeroboard commented 10 years ago
_Complement.userUsedHistory = function(userUsedHistory) {
    // キーの管理
    return internalHistory(key, userUsedHistory);
}

なので、userUserdHistoryは呼び出し元から指定するのに、keyは呼び出された方が管理しているというのが違和感というか、なんか変な感じがするので

_Complement.userUsedHistory = function(key, userUsedHistory) { // keyも引数で渡す
    // なんちゃらかんちゃら
    return internalHistory(key, userUsedHistory);
}

このように呼び出し元でキーも気にするようにすれば userUseedHistory/groupUsedHistoryは不要になり、internalHistoryのみで事足りるのではないかという感じです。

haushinka2dx commented 10 years ago

なるほど。確かに一理ありますね。 AtmosSettings.Complement を単なるマップ的な位置づけにすればアリな気がします。

今回のように実装したのは以下の意図(経緯)からです。

という感じです。 どうですかね?

shunsuke-suzuki-zeroboard commented 10 years ago

関数でキーを管理はあくまで呼び出し元では考えさせたくないということになると、 1案目の方が良いですね。 呼び出し元からしかuserUsedHistory等が作成出来ない という問題点がなければという条件付きになりますが。 (コメントへの返信ってどうやるんでしょうか。。これで出来ているのかわかりません。)

haushinka2dx commented 10 years ago

1案目の方が良いですね。

1案目って具体的にはどれでしょうか。

(コメントへの返信ってどうやるんでしょうか。。これで出来ているのかわかりません。)

コードへの返信という意味だと Add a line note というボタンを押す方で、PRについてのコメントに対する返信は…分かりませんw

haushinka2dx commented 10 years ago

修正します!

haushinka2dx commented 10 years ago

@ip-s-pra 作り替えてみました。外からは

という感じになります。

shunsuke-suzuki-zeroboard commented 10 years ago

キーも直っていていい感じかと思います。私からは特にありません!:sunny:

haushinka2dx commented 10 years ago

thanks a lot!!! 太陽いいですね。

ちなみに消す操作は出来ないので必要になったら足します。 意外とテストケースが面倒でした…。