あるデータをファイルに保存する際に一番楽なのは、
void WriteDataToFile(const Data& d, LPCTSTR filePath);
void ReadDataFromFile(Data& d, LPCTSTR filePath);
みたいに読み書きの関数を作る事だけれど、このやり方だとData以外のものも保存したくなった際に変更が必要。

Dataを構造体にしてなくて、
typedef std::map > Data;
とかにしてて更に駄目。将来的な拡張を見越した設計が無かった。コントロール群から値を読み出してファイルに保存するのを一気にやる関数まで作ってたりして過去の自分を責めたくなる。コントロール群からデータ取り出しと、データをファイルに書き出す関数は別にあるのに。

ファイルではない代物にデータを保存したくなった場合用にstream使うのが良いんだろうけれどあんまり高級なのも使うのはどうかなっていうのがある。まぁWindowsの場合気にしないで良いだろうけれど。でも抽象化は進めてかないと…。。

あと他の人が作った、設定の読み書きをINIファイルに、GetPrivateProfileStringとか、WritePrivateProfileStringとか使って直接Viewとかに書いてるのを、設定構造体とか作ってboost::serialization使って保存したいけどVC6を使ってるとboost::serializationを使うのは厳しい。でも他の手段がなんだかだるいかなぁ、という燃料切れ状態。

全体的に粒度が粗いのを定型化しないでくっつけてて、moduleとfunctionの見通しが悪い気がする。ちょっとスパゲッティー状態とでもいうのかなぁ。。ファイル数も多いのでフォルダ分けもやらんと…。