Beta 2.0 is not before...
今回公開した Beta 2.0は、前回の Beta6から実に 2年半も間が空いてしまいました。
これまで TepaEditor使っていただいた方々、ベータ版をテストしていた方々には、大変お待たせしてしまい、
申し訳ありませんでした。
理由を挙げるといくつかあって、プライベートでは、前回のリリース直後に 就職活動、本の執筆、卒業研究が重なり、 さらにその後も就職したことで、以前よりも時間がとれなくなったというのが 1点。
そしてもう 1点がトップページなどでも書きましたが、内部のコードを全面的に書き直していたためです。
お恥ずかしい事に、Beta6まではオブジェクト指向的なほとんど書き方がされておらず、 共通ロジック以外はイベントハンドラに直書きという状態でした。TepaEditor自体が元々が VisualBasicから Delphiに移植したもの(当時は TextPainterという名前でした。)だったのと、私自身も BASIC→VisualBasic→Delphiという流れで触ってきたために構造化プログラミングに染まっていて、 オブジェクト指向的に書く事になれていなかったというところもあります。ま、言い訳ですが・・・ そんなわけで、内部コードは典型的なスパゲッティコードと化してきていました。
しかし、大学で研究用プログラムを作成する段階で、 ようやく実践的にオブジェクト指向的なコードを書くようになり(それでも意固地に Delphiを使っていましたが...)、TepaEditorも今後のメンテナンス性などを考慮して、 徐々に書き直していこうと決心しました。それが Beta6のリリース後です。といっても最初はコードを分離してモジュール化する程度で、 実質的には以前と同じ構造化プログラムとなっていました。
その後、先にも挙げた、就職活動や卒業研究などの期間を経て、ついに社会人プログラマとして世に出る事になりました。そして、 会社でコード(さすがにここでは C++でしたが)を書いている間に本格的にオブジェクト指向的に書き直さなければマズイと感じ、 結局全面的に書き直すことになりました。多分、ベータテスト中、そしてまだ新米社会人である今のうちにやっておかないと、 おそらく今後書き直す事は出来ないだろうという直感的な部分もありました。
というわけで、機能的なアップグレードには 2年半という歳月にしてはそれほど多くはないものの、 規模としてはほぼ全面スクラッチに近いくらい書き直しを行っています。まだまだ継続的にリファクタリングしていく必要はありますが、 それでも Beta6までに比べて、全体的な可読性や構成は確実にマシになってきているので、今後のメンテナンスを考えると、 無駄ではなかったかなと思っています。
ユーザーの方々をお待たせしてしまったのは申し訳ないですが、その分、今後の継続的な更新・改良で少しでもお返しできれば、 と思っています。