TDDで電卓アプリを実装する日記#3

はじめに

自分の想定以上の頻度で割り込みスキルが入るから、2日に一回程度の更新日時が現実的な気がしてきた。それはともかく、実装を行っていきます。

現状

とりあえずToDoリストの確認から。これから足し算ボタンを実装していくため、実際の電卓を見ながらToDoリストの追加を行う。

・+キー→表示→0
・10→+→表示→10

実装するために変更する場所が多くなりそうなことが予想されるから、なるべく小さな単位で行う。

Keyクラスの分離

#2まででは、数字キーだけをキーとしていたが、新しく+などの演算記号もキーとする必要が出てきた。
しかし、GUIの都合上、キー入力は演算記号も数字も文字として入ってくるから処理を分けなければいけない。

今回はKeyクラスを抽象クラスとして、数値を示すValueKeyと記号を示すSignalKeyに実装を分離した。

そして次のようにプログラムを修正。
・FormulaクラスのAddKeyにValueKeyとSignalキー、両方受け付けるようにした
・Signalキーを受け取ったときにそのキーを格納しておく

(とりあえず上記テスト2つを通すことを目的としているため、今後支障が出るけど、今はテストを通るようにする。)

実装結果は上記の通り。実質、新しいクラスを作ってスルーさせるようにしただけだけど、コードはかなり広い範囲に手を入れていたし、実装時間が細切れになってしまっていたので今回はここまで。

次回こそ四則演算の実装を行いたい。

この記事が気に入ったらサポートをしてみませんか?