タグ

ブックマーク / qiita.com/BlueRayi (2)

  • `get()`を使うな ~ 敗北者の Optional - Qiita

    Java の Optional に関する記事を見ると “この教え方では Optional の意味がまるっきりない使い方するやつばかりが生まれるぞ……” というのを数多く見てしまったので,せめてもの反抗にこの記事を書きます。 TL; DR isPresent()とget()しか知らない奴は こういう書き方をしてはいけない 記事を見ていると null チェックはOptional#isPresent()で行い,値はOptional#get()で取り出します。 みたいな解説が多すぎる。 そういうことをしてはいけない。それでは従来の null チェックとなにも変わらない。変わらないどころかタイプ数が増え,実行時間が増え,メモリ使用量が増え,デメリットだけが上乗せされている。メリットはなにも得られていないのに。 Optional<String> someStr = Optional.of("Hello

    `get()`を使うな ~ 敗北者の Optional - Qiita
  • TrueSkill「まだ Elo レーティングで消耗してるの?」 - Qiita

    徒競走のタイムと違って、対戦型ゲームの巧さというのは簡単には数値化できません。 しかし、なんとかしてそれを実現させようとして生まれたのがレーティングです。 古典的にはチェスのために生み出された Elo レーティングが存在し、様々な改良アルゴリズムが生み出されてきました。 TrueSkill は Microsoft が開発したレーティングアルゴリズムです。 Microsoft が開発したとあって Xbox Live のゲームで使用されているようです。 このアルゴリズムには既存のレーティングアルゴリズムと比較して以下のような特徴があるそうです。 収束が早い。 レーティングに初めて参加するプレイヤーの実力を推定するのに何度も何度も不適当なマッチングで対戦する必要がない。 複数人による対戦に対応している。 勝ちか負けかのみならず順位を定めるようなゲームやチーム戦1のゲームにも使用できる。 ゲーム

    TrueSkill「まだ Elo レーティングで消耗してるの?」 - Qiita
  • 1