enchant.jsのクソな部分

enchant.js、いいライブラリなんだけど「これってどうなの?」って思うところもあって、それを箇条書きにしていく。

  • リポジトリ
    • ブランチに master と develop と develop-env と v0.5.0 がある
      • たぶん新機能は develop で開発するんだろうけど、 master にも色々コミットされていたりする
      • pull-request はどのブランチにすればいいの
      • どうして v0.4.4 とかはタグで管理してるのに v0.5.0 はブランチなのか
        • v0.5.0 ブランチは develop ブランチと何が違うのか
    • git-flow とか参考にすればいいと思う
  • コーディング規約
    • 場所によって書き方が違ったりする
      • if 文の { の前にスペースを入れるか、とか
    • ひどい所だとインデントでスペースとタブが混ざってたりする
      • 関係ないけれど、コード書くエディタはホワイトスペースと全角スペースとタブを区別できないとダメだと思う
  • テスト
    • tests ディレクトリに少ししかない
  • ブラウザごとの違いとかバグとか
  • dev/enchant.js
    • サイズが大きすぎる
      • 読むときスクロールが大変
      • jQuery みたいにファイルを分割すればいいのに
        • どうせ rake コマンド使うんだし
  • スパゲッティ
    • ひとつのメソッドが30行超えているのは、よくないと思う
      • asset 関係のメソッド追うのに一苦労
    • プログラマにソースのよくからまったスパゲッティを見せると死ぬ
      • 死なない
  • rotate() とか scale()
    • なんで Entity じゃなくて Sprite のメソッドなの
    • transform-origin の指定がやりにくくて不便
    • 拡大しても当たり判定はそのままなのが少し面倒くさい
  • addEventListener()
    • 長い
    • どうして addListener() とか on() とかにしなかったの
      • DOM に合わせたんだろうけど、そんな必要なかった
  • Sound
    • クソ
    • うんち