Skip to content

Instantly share code, notes, and snippets.

@grimrose
Created July 28, 2013 07:57
Show Gist options
  • Save grimrose/6097876 to your computer and use it in GitHub Desktop.
Save grimrose/6097876 to your computer and use it in GitHub Desktop.
TDD exchangeの設計について

TODOリストの設計について

コア

  • フォーマットはJSONを利用する

  • 保存はH2を利用する

  • GroovyのJSONBuilderを利用し、やり取りする。

  • 新規の場合、入力された文字列を永続化する

  • 削除の場合、永続化されたものを削除する

  • 順序を入れ替える場合、優先順位を入れ替える

  • Entityは以下の属性を持っている

    • index
    • priority
    • text

スタンドアロン版

コマンド

  • new
    • オプション
    • コンソールから入力されたものを追加する。
    • 追加できた場合、優先順位を表示する。
    • 追加出来なかった場合、理由を表示する。
  • show
    • オプション
      • first 最初に追加したTODOのみを見れる
        • ex) show first
      • last 最後に追加したTODOのみを見れる
        • ex) show last
      • listと同じ
        • ex) show
  • list
    • 追加したTODO全てを見れる
    • THINK ページング?
  • rm
    • オプション
      • all 追加した全てのTODOを削除できる
        • ex) rm all
      • first 最初に追加したTODOを削除できる
        • ex) rm first
      • last 最後に追加したTODOを削除できる
        • ex) rm first
  • change
    • オプション
      • priority > priority
    • priorityが指定されていない場合、Error
    • 存在しないを指定した場合、Error
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment