説明はキレイだけどソースコードはグチャグチゃになりがちな設計