タスクは所有者と期限を持つことで”ToDo”となる。
タスクは”誰がそれを所有するのか(owned_by)”という情報と、”いつまでにそれを行うのか(due_date, due_time)”という情報を持つことで、ToDoタスクとなる。
module TaskInterface class Core attr_accessor :action, :target def initialize(action:, target:) @action = action @target = target end end module Owner attr_accessor :owned_by def initialize(owned_by:) @owned_by = owned_by end end end class Task < TaskInterface::Core include TaskInterface::Owner def initialize(action:, target:, owned_by: "私が") @action = action @target = target @owned_by = owned_by end end class ToDo attr_accessor :task, :due_date, :due_time def initialize(task:, due_date: "今日の", due_time: "23:59:59までに") @task = task @due_date = due_date @due_time = due_time end end myTask = Task.new(action: "する", target: "家を出る支度を") myToDo = ToDo.new(task: myTask, due_time: "40秒後までに") p "#{myToDo.due_date} #{myToDo.due_time} #{myToDo.task.owned_by} #{myToDo.task.target} #{myToDo.task.action}"
所感
@rashita2 さんの著書「タスク管理の用語集」によると、”<Todo>とは、「すべきこと」です。”とあります。
これに対する私の解釈ですが、タスクとToDo の違いは”期限(due_date, due_time)”と”行動主体(owned_by)”の有無だと考えています。
「家を出る支度を済ませる」だとタスクですが、「(40秒後までに)(私は)家を出る支度を済ませる」だとToDo なのです。
明確な”期限(いつまでに)”と”行動主体(誰が)”という情報の付与はタスクにスコープを与え、ToDo たらしめます。
ただ、ToDo が要素としてTask を持つ(has a)べきなのか、Task の一形態としてToDoTask がある(is a)べきなのかは悩ましいところです。*01まあ、これはどの様なスタンスでTask とToDo を扱うかで決まりそうですが。
脚注
↩01 | まあ、これはどの様なスタンスでTask とToDo を扱うかで決まりそうですが。 |
---|