Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

リファクタリング #28

Open
napo0703 opened this issue Jun 4, 2016 · 8 comments
Open

リファクタリング #28

napo0703 opened this issue Jun 4, 2016 · 8 comments

Comments

@napo0703
Copy link
Owner

napo0703 commented Jun 4, 2016

自分ですら読むのがつらくなってきた。
コードレビューや開発環境の見直しなどアドバイスあったらお願いいたします:bow:

@shokai
Copy link
Collaborator

shokai commented Jun 4, 2016

flux

@shokai
Copy link
Collaborator

shokai commented Jun 4, 2016

power

@napo0703
Copy link
Owner Author

napo0703 commented Jun 5, 2016

@shokai
Copy link
Collaborator

shokai commented Jun 5, 2016

「nameを与えたらtupleをwatchして、nameに基づいてgrid内から自分が変更すべきDOMを探して表示を変えるモジュール」を書くのはどうか
jqeuryでいいので

そのために「nameに基いてgrid内から自分が変更すべきDOMを探して表示を変えるモジュール」とそれを継承して「tupleを見て自分が表示すべき内容を決める具体的な実装」に分ける

gridparts/wakarite.js

export default class Wakarite {
  constructor (name) {
    this.name = name
    $('.grid').append($('<div>').addClass(this.name))
  }

  renderImage (img_url) {
    $(`.grid .${this.name} img`).attr('src', img_url)
  }
}

gridparts/delta-door.js

import Wakarite from './wakarite'
export default class DeltaDoor extends Wakarite {
  constructor () {
    super('delta_door')
  }

  start () {
    tuplespace.watch({type: door, cmd: 'open'}, (err, tuple) => {
      this.renderImage('http://ドア開いた.png')
      setTimeout(() => {
        this.renderImage('http://ドア閉じた.png')
      }, 3000)
    })
  }
}

index.js からはこう呼ぶ

import DeltaDoor from './gridparts/delta-door'
new DeltaDoor().start()

雑なスケッチだけどこんな感じでどう表示するかと、表示内容を決める役に分担して、delta-door.jsみたいなのをたくさん作ればいいのでは

@masui
Copy link
Collaborator

masui commented Jun 5, 2016

  • "wakarite"ってどういう意味ですか?
  • tuplespaceってグローバル変数?
  • メソッドて"function"みたいなの要らないんですか

@shokai
Copy link
Collaborator

shokai commented Jun 6, 2016

"wakarite"ってどういう意味ですか?

わかりを表示する人です

tuplespaceってグローバル変数?

いいえ
どこかで宣言する必要があります

メソッドて"function"みたいなの要らないんですか

class記法なのでいりません

@masui
Copy link
Collaborator

masui commented Jun 6, 2016

wakarite = 分かり手?

@shokai
Copy link
Collaborator

shokai commented Jun 6, 2016

はい

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants