OneThirdの設計方針について、重要なポイントが2つあります
それは可読性の向上の取り組みと、プログラムの一点集中です
可読性の向上の一番重要なポイントは
単純なGrepでソース解析が行えるということです
例えば、OneThirdでは、各国翻訳をパッチで行っています
WordPress等動的に多国語対応を行うと、コンパネで言語が即時切り替えできるとかローケル情報で切り替えられるとかメリットは有りますが
今、表示されているボタンをおした時の挙動を知りたいケースで、そのキャプションでGrepしてもソースコード上引っかかりにくいということがあり解析に手間取ります
ですから、多国語対応にはソースコードを直接パッチによって書き換える方式をとっています
この方式ですと、クリックするボタンキャプションでソースコードをGrepしますと素早く処理している個所を探し当てることができます
また、jQueryを使った???.click(function.... もできるだけ避けています
代わりに、onlick='????'
とか、href-'javascript:void(????)'
といった懐かしい書式でイベント記述しています
これもそういった可読性向上のためです
ソースコードは階層化せず一箇所に集中して記述している点が第2番目のポイントです
これは、OneThirdのソースコードを全て解析し理解しなくても小手先で修正できるよう配慮したものです
モジュール結合度を出来るだけ低くし、高速な開発(改造)とバグ混入確率の低下を狙っています
通常ajaxプログラムを書く場合は、MVCのルールに従い記述する場所が決まっています
比較的小規模なMVCパターンだと割りと誤解が発生しにくいのですが、規模が大きくなると本来記述する場所がPGのスキルによってばらつき可読性が落ちたり、思わぬバグを作りこんだりする場合があります
そこで、OneThirdでは、ajaxプログラムや、その表示プログラム、コントロールプログラムなどと一緒に、できるだけコンパクトに同じ場所に書くスタイルになっています
そうすることにより、プログラムをコピペしても簡単に、しかも安全に動作するようできる限り配慮されています
ビューとドキュメントを分離するということは、20年以上に渡り考えられてきた大規模開発のセオリーではありますが
OneThird CMSでは開発効率の効率化による少人数での開発を念頭においているため、敢えてそれに逆行するコーディングスタイルをとっています
それは、大規模開発の開発手法、それを高級な開発だと勘違いされて開発工数が肥大するという本末転倒の事になるケースが今後増えてくると予測しているからです
重要なのは、開発システム規模にあった最適化された開発スタイルです
その一つの選択肢となれるようにOneThird CMSは開発されました
その点を配慮していただくと、OneThirdのソースコードが見やすくなると思いますのでよろしくお願いいたします