午前中は測定ソフトの使い勝手と性能のバランスについて考えた。
少し前に性能アップのために、測定ソフトに設定パラメータを追加したのだが、これが他のいくつかのパラメータに影響を与えることになってしまった。これはソースコードがスパゲティだからではなく、実体のある制御対象の物理的な性質によるものなので、プログラムで解決することはできない。
困ったことにこの影響で、ある操作をするたびにある設定値を変更しなければならないという制限ができてしまった。その操作を始める前に設定値を大きくしておき、操作が終わったら元の値に戻さなければならない。設定値を変更せずに操作をしてしまうと、試料を傷めてしまう可能性がある。
問題は、適切な値と変更のタイミングをソフトにどうやって決めさせるか。今のところイマイチ良いアイデアが無い。過剰な防衛策はあるが、使い勝手が相当に悪くなる。貴重な試料を測定する場合があるので試料を傷めるのは絶対に回避すべきである。良い手が思いつかなければ例え過剰であっても防衛的に実装することになる。

午後からは上記の思案のためにコードを読み直してみた。ついでに少しだけリファクタリング