Project

General

Profile

最適化 #615

プラグインのspecファイル名の変更

Added by Osamu Koga about 7 years ago. Updated over 6 years ago.

Status:
終了
Priority:
通常
Assignee:
Target version:
Start date:
2013-10-07
Due date:
% Done:

0%

プラグイン名:

Description

specというファイル名はrspec用のファイルを格納する一般的なディレクトリ名と衝突するので、specファイルを.mikutter_pluginという名前に変更することを提案します。


Files

plugin.patch (2.16 KB) plugin.patch Osamu Koga, 2013-10-07 01:58
plugin_revised.patch (1.77 KB) plugin_revised.patch Osamu Koga, 2013-10-20 23:31
#1

Updated by toshi_a 初音 about 7 years ago

先日Twitterで言っていた件ですね。私も基本的には反対もしませんし、新しい名前に変更するなら従来のspecという名前はduplicatedにして新しいものに統一することには賛成です。

二点修正したいことがあって、
  • メタファイルの名前ですが、.mikutter_pluginでは、このファイル自体の役割の説明としては適切ではないと考えます(これ自体がプラグインというわけではなく、単なるメタファイル、定義ファイルです)。
  • アクティビティに「warining」ロールを追加するのは、あまり細かく共通のロールを作りすぎると、それらの役目を明確に定義しないとデベロッパが正しい分類を出来ず、結果としてユーザにとってこの分類が無意味になるだろうと考えているため、単純にこれ以上追加することには懐疑的です。現在明確な定義が無いため、以下の様な対策をとる必要があると考えます。
    • systemロールのメッセージにする(Miquireモジュールもプラグインロード時にバージョン不整合を検出するとこれを使います)。
    • warningを新設し、分類規約の必要性を検証し、必要に応じて定義する。他の標準プラグインの通知のロールを新しい規約に照らしあわせて修正する。

どちらも、私自身特に考えがまとまっていない状態です。取り急ぎ考えていることを書いたまでです。何か意見があればお願いします。二点目に関してはこのチケットから逸脱していますが、話が大きくならない限りこのチケットで済ましてしまいましょう。

#2

Updated by Osamu Koga about 7 years ago

まず、メタファイルの名前のほうですが、これはちょっと悩んだ結果でもあります。
このファイル自体がプラグインでないというのはその通りなのですが、ファイル名に入れたい情報としては

  • mikutter関連のファイルであること
  • プラグインに関わるファイルであること
という2点があり、この条件を満たす上ような新しいメタファイルの名前として
  • .mikutterrc
  • .mikutterpluginrc
  • .mikutter_plugin_spec
  • .mikutter_plugin

などを候補として考えました。
このうち.mikutterrcはプラグインという情報が入っていないので今ひとつかなと思い、2つ目と3つ目はファイル名が長すぎて美しくない気がして、結局4番目にしてみたという経緯があります。
ただ、現状mikutterに関連するファイルでmikutter本体でないものはプラグイン以外あり得ないので、プラグインという情報は削って.mikutter.ymlみたいな感じでもいいのかな、という気もしています(.travis.ymlみたいなノリで)。
そんな訳で、個人的には.mikutter_pluginか.mikutter.ymlを推しますが、最終的な決定はおまかせします。

warningロールについては、systemロールでdeprecatedを報告すると、正常動作はしているのに警告が流れてくる、しかしユーザーにはどうしようもない、という状況が発生してしまって、それはどうなのかなぁと思ったので別に作った感じです。
まあ、仕様変更に気づかれない方が危ないというのも確かなので、mikutter本体レベルであえてロールを増やすほどの必要はなかったかもしれません。

#3

Updated by toshi_a 初音 about 7 years ago

名前に関して、確かに、1でも書いたとおり、これといった代案はありませんでしたが、 .mikutter だけだと情報が少なすぎる気がしますね。プラグインであることもわかっているので、個人的には .mikutter.yml が気に入りました。

ロールに関しては、よく考えたら現状 spec がないプラグインに関してメッセージを出さないのに、systemロールで通知するのは不自然ですね。
もっとも、定義ファイルが一切ないプラグインは書き捨てなのでそういう警告自体ナンセンスだという考え方もあると思います。その場合は、プラグインユーザ全員に警告が出ることで、ユーザには早くアップデートしようと思うこと、開発者は早くアップデートをすることをそれぞれ期待していました。
思いつきですが開発者のSNが定義ファイルには書いてあるので、自分で作ったものはsystemで報告して、ユーザにはwarningで報告するといった仕掛けも楽しそうですね。consoleプラグインなどがそうですが、mikutterにはmikutterプラグイン開発の補助ツールとしての側面もあると考えているので。
なんだかまとまらないので、「アクティビティのロールを考えなおす」というテーマで別チケットにしてしまったほうが良いように思いますがどうでしょう。

#4

Updated by Osamu Koga about 7 years ago

ファイル名の変更と、警告メッセージのロールをsystemに戻した形でパッチを書き直しました。
TLに流れる部分なので、メッセージは日本語にしています。
(coreをきれいな形でm17nする方法って今は存在しない気がするのですが、こういうとき困りますね)

ロールについてはなんとなく、今のmikutterでnoticeやwarningで出しているメッセージをactivityに統合できたら便利だなぁとは思っています。
しかし、あまり詰めて考えていたわけでもないので、別チケットを立てるならもう少しまとまってからにしようかと思います。
(もちろん、toshi_aさんが立ててくださっても構いません)

#5

Updated by toshi_a 初音 over 6 years ago

  • Status changed from パッチ適用待ち to レビュー待ち
  • Assignee set to Osamu Koga

頂いたパッチをもとに、.mikutter.ymlを参照するようにしてみました。アクティビティへのエラー出力を「error」ロールにしている等いくつか変更しています。

#6

Updated by Osamu Koga over 6 years ago

  • Status changed from レビュー待ち to 解決

確認しました。結構色々と変わったみたいで、お疲れさまです。

#7

Updated by toshi_a 初音 over 6 years ago

  • Status changed from 解決 to 終了

Also available in: Atom PDF