共通の機能を作っておき、そこから枝葉を付け加えるようにしてプログラムの部品を作っていくのは楽しいです。
とはいえ、毎回上手くいくわけではなく、基本設計を失敗したというケースもあります。
何ごとも、基本となる設計が大切だなと思います。