Tags
11 ページ目
Todo-App
if-elsifで書き始めたPerlのTodo CLIを、RepositoryとCommandで直しやすく育てる全10回【目次】
JSONで保存していたTodo CLIを、SQLiteでも動かす。変えるのはリポジトリを選ぶ所だけ【演習:SQLite】
約50行のif-elsifが、約300行と8つのクラス・ロールに増えた。それでも直しやすくなった理由を振り返る【設計原則】
--verboseや--fileを足したいのに、shift @ARGVでは引数の順番に縛られる。オプション解析を任せる【Getopt::Long】
addとlistをCommandにした。completeも、動いている2つに触らず足せるかを確かめる【Command::Complete】
コマンドを足すたびに、メイン処理のif-elsifが伸びていく。操作を1つずつオブジェクトにする【Command】
テストのたびにファイルが作られ、失敗すると残る。メモリ上で動く保存先に差し替える【InMemoryRepository】
どのコマンドにもファイルの読み書きが混ざり、保存形式を変えると全部直すことになる。保存の仕事を1か所に分ける【Repository】
タスク名にタブが入ると、保存ファイルが読めなくなる。構造ごと書き出す【JSON】
タスクがただの文字列で、完了の印を付ける場所がない。データと操作を1つのクラスにまとめる【Taskクラス】
if-elsifで書いた約50行のTodo CLIは動く。でもテストが書けない理由を確かめる【素朴な実装】