-
modulo 26
- 使うひとからは隠蔽する(文字かキーで指定できるようにする)
-
ロータ
- prototype
- new メソッドを Result にして、map のチェックなどを追加する
- substitute メソッドのインターフェースを検討する
- デフォルト位置を追加
- 1周したかどうかを返すメソッドを追加
- 文字列からロータを作るメソッドを追加
- テストの修正
- 換字テーブルの対応を、一定の幅にしない
- 後からオフセットを設定できるAPIにする
- オフセットはデフォルト実装が発生するようにする
- オフセットを分離する
- ロータは回転の状態をしらないようにしたい
- デフォルト位置はキーで指定するように変更する
-
リフレクタ
- デフォルト実装をつくっておく
-
プラグボード
- ペアをキーで指定するように変更する
-
スクランブラー(全体)
- 小文字アルファベット以外は暗号化せずスルーする仕様にする
- ascii 文字以外の入力は考慮しない
- デバッグの痕跡を消す
-
Error の扱いを検討する
-
テストの改善
- グループ化
- テストケースの追加
- リファクタリング
- 換字の内部実装では Modulo を使い、ユーザが定義できる部分はEnumで表現したアルファベットのキーを利用するインターフェースにする
- キーに変更
- ロータの初期位置
- プラグボードのペア設定
- キーに変更