現在、ImageJ に対応した、新しい画像編集サポートツールを開発中です。今回 32bit 画像の扱いが良く分からず、意図した結果が得られないことが多く、非常に苦しみましたが、ようやく目途が立ってきました。ただ、まだ完全に理解しているかどうかよくわかりません。
とはいえ、ここのところ何本か ImageJ 対応のツールを開発してきましたので、ようやく何となく要領が分かってきて、今までよりだいぶすっきりした構造のプログラムになりつつあります。
今までは、そもそも自分が入れたい機能をどう実装するかが良く分からず、できるのかどうかもよく分からないまま、トライ & エラーで試行錯誤しながら作成してきました。さらに後から機能を思いついて、オリジナルからかなり機能を追加したりしています。
しかし、そろそろどうやるか分かってきましたので、大体プログラムをどういう構造で作ればよいかが、割合はっきりと見えてきました。逆に言えば、トライ & エラーでプログラムを書いている以上はどうしてもスパゲッティ・コードにならざるを得ないということです。
既存のプログラムに関しても、今後のメンテナンス性を考えると、構造を整理してすっきりさせた方が良いのですが、とりあえず動いているので、なかなか手を付ける気になりません。