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

バイトの職種を指定する機能がほしい #72

Open
yuiseki opened this issue Sep 17, 2019 · 7 comments
Open

バイトの職種を指定する機能がほしい #72

yuiseki opened this issue Sep 17, 2019 · 7 comments
Assignees

Comments

@yuiseki
Copy link
Member

yuiseki commented Sep 17, 2019

職種によって時給が変わるべき

@ao-spirogyra
Copy link
Collaborator

誤って自分をassignしたのかと思ったらassignされていた

@ao-spirogyra
Copy link
Collaborator

これ例えば
workみたいな名前でクラス作って継承するのと各職種の情報をjsonでしまっておくのとだと後々どう変わってくるんですか?

@ao-spirogyra
Copy link
Collaborator

ao-spirogyra commented Sep 17, 2019

class Work
{
 public string type;
 public int money;
 public string time;
 public int stress
}
class kombini : Work
{
 public ...
}

みたいなのと

{"kombini":
 {"money_h":1000,
 "time":5,
 "stress":2.0
 },
"ohuro":
 {
 }
}

みたいなの

@ao-spirogyra
Copy link
Collaborator

class Work { public string type; public int money; public string time; public int stress } class kombini : Work { public ... }
みたいなのと
{"kombini": {"money_h":1000, "time":5, "stress":2.0 }, "ohuro": { } }
みたいなの

これ書いてて気づきましたが同じ属性?しか出てこないならjsonで良さそう?

@yuiseki
Copy link
Member Author

yuiseki commented Sep 18, 2019

上の例ようにクラスベースで作るべきですね。
Rubyっぽくかくと

lib/kyaru/works/work.rb

# AbstractWorkというクラスを定義する
# Abstract = 抽象的な
class AbstractWork
  # クラス変数のデフォルト値
  # 名前
  @name = "absctact"
  # 時給
  @hourly_wage = 1000
  # 勤務時間
  @working_hours = 1
  # ストレス
  @stress_per_hour = 1.0
  class << self
    attr_accessor :name, :hourly_wage, :working_hours, :stress_per_hour

    def inherited(klass)
      klass.name = @name
      klass.hourly_wage = @hourly_wage
      klass.working_hours = @working_hours
      klass.stress_per_hour = @stress_per_hour
    end
end

とかやってAbstractWorkを定義しておいて

lib/kyaru/works/comvinience_storerb

# AbstractWorkを継承して具体的なクラスを定義する
class ConvenienceStore < AbstractWork
  @name = "コンビニバイト"
  @hourly_wage = 1010
  @working_hours = 6
  @stress_per_hour = 1.4
end

@yuiseki
Copy link
Member Author

yuiseki commented Sep 18, 2019

問題あったら私や高野さんがベストプラクティス教えるので、とりあえずこれでどうだろうという気持ちでコード書いてPullRequest立てちゃってOKです

@ao-spirogyra
Copy link
Collaborator

了解です

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

No branches or pull requests

2 participants