プラグインを分割するか否か

プラグインの分割はどのタイプが良いか

  • 大きくて1個にまとまっている

    Votes: 2 13.3%
  • 1つのコアがあり、拡張プラグインがいくつかある

    Votes: 5 33.3%
  • 複数あり、任意の形で組み合わせられる

    Votes: 10 66.7%

  • Total voters
    15

しぐれん

ユーザー
プラグイン開発中に利用者の意見を聞きたくなったのでスレッドを作成しました・

プラグインを利用する際に、メンテナンスなどを考えて分割するのはどうなのかという話です。
大きなプラグインは機能がたくさんあって便利ですが、一部が競合を起こすと全体が使えなくなります。
一方で複数のプラグインで構成されるのは管理が面倒というのも理解できます。

そこで、ある程度の大きな機能についてプラグインの分割具合はどのぐらいが良いかという話です。
導入に際して前提プラグインが必要なものもありますが、そういった場合に不便という意見がありそうです。
私としては不便になりそうなので、前提プラグインありの物は避けてきました。

実際の利用者の意見を聞いて今後の参考にしたいです。
 
僕の場合、競合を避けるために、「ひとつのプラグインに多くの機能を盛り込まない」
というポリシーを取っています。

もし、他のプラグインと連携が必要な場合、「そのプラグインが存在するかどうか」を
判定して、追加処理を記述します。

例を挙げます:
プラグイン1:能力値に新たなパラメータを追加(例:新桃太郎伝説の「人気度」、
MOTHER2の「ガッツ」(致命傷を受けた場合でもHP1で踏み止まる確率が上がる))

プラグイン2:当該アクターの全ての能力値(リジェネ率や属性耐性を含む)を
表示するプラグイン

この2つを入れた場合、プラグイン2では、プラグイン1で追加した能力値に
対応してません。
こういう時に、「プラグイン1があったら、そこで新たに追加された能力値を
プラグイン2側が責任を持ち表示」

といったやり方で行います。

結果、僕のプラグインは、あまり競合報告を聞かないのですし、
日本では、そういうスタンスのプラグインが多いですね。
しかし、海外に目を向けると話は別。
Yanfly氏のプラグインもそうですが、多機能すぎて競合の連絡が後を絶ちません。
どうやら海外では「俺のプラグインを入れた状態こそが、ツクールMV/MZの
コアスクリプト相応しい、だから競合なんて気にしない」
という話も聞くため、文化の違いがあるなあ、と思っている次第です。
 

温州みかん

ユーザー
自分用で作るなら、断然「大きくて1個にまとまっている」のがいいです。
行数ではなく、異なる複数の機能をひとつのプラグインで賄っている、という意味だと解釈しました。
特にメニュー周りの小さな改変は、ひとつにまとめています。

逆に利用者視点では、
公式、ロンチ、あるいは多くのプラグインを系統立てて制作される、パッケージ化されたものであるなら、「1つのコアがあり、拡張プラグインがいくつかある」ものが大きな効果が得られ、割に扱いやすさも考慮されている、と考えます。
ベースプラグインもこの選択肢に該当する考え方に属していると思います。
ただ、基本的にその系統のプラグインしか入れない、(入れると競合が発生するかも?)という制作上の制限が課せられることもあるのが難点かもしれません。

拾いやすい単発の野良プラグインは「複数あり、任意の形で組み合わせられる」ものです。
1ファイル1機能。
私が公開しているのがこれです。
 
トップ