[トップ][一覧][最近の更新]

編集履歴:差分

2009/10/10 01:06:21 JST以来のNote:HSP3モジュール作成ガイドラインの変更箇所

  • + 追加された行
  • - 削除された行

編集履歴ページに戻る

  * 拡張子
  HSPはテキストファイルであれば拡張子は特に問わないが、.hspと.asを推奨している。
  
  ||推奨拡張子||推奨用途||
  ||.as||global定数~%globalマクロ~%globalエクスポート関数の宣言文~%モジュール本体||
+ ||.hs||ヘルプソース||
- ||.hs||ヘルプファイル||
  ||.hsp||スクリプト本体||
  * 標準モジュールとユーザー定義モジュール
  HSPに標準でついてくるエクスポート関数の宣言文(user32.asなど)については.asで統一されている。
  '''モジュールについては拡張子がまちまちである'''。
+ その原因はモジュールを'''ブラックボックス'''か'''スクリプトの一部'''か、プログラマによって捕らえ方が異なるためである。
- その原因はユーザー定義モジュールについて良質と認められた場合、標準モジュールとして同梱されるからである。
  
+ user32.asのようなエクスポート関数の宣言は.asファイルを覗いたとしても関数の実装までは見えない。
+ しかしユーザー定義命令のモジュールは実装が丸見えである。ブラックボックスではないためスクリプトの一部・サブルーチンの集まり、と捕らえ.hspの拡張子を当てはめるのである。
+ 
+ ;;その原因はユーザー定義モジュールについて良質と認められた場合、標準モジュールとして同梱されるからである。
+ 
  あるモジュールAはmoduleA.asとして提供されていて、別のモジュールBはmoduleB.hspとして提供されていると、拡張子まで間違えないように打ち込まなければならない。
  
+ テキストファイルであれば拡張子は問われないのなら、いっそのことモジュールファイル用の拡張子.mod相当を定義してもよさそうであるが。
- テキストファイルであれば拡張子は問われないのなら、いっそのことモジュールファイル用の拡張子.modを定義してもよさそうであるが。
  
  ||改定拡張子||改定用途||
  ||.as||global定数~%globalマクロ~%globalエクスポート関数の宣言文||
+ ||.hs||ヘルプソース||
- ||.hs||ヘルプファイル||
  ||.hsp||スクリプト本体||
  ||.mod||モジュール本体||
  
  * ヘルプファイルとドキュメンテーションコメント付モジュール
  HDL1.20からドキュメンテーションコメント付モジュールがサポートされた。
  これは要約するとモジュール本体にHSドキュメントを記述したファイルをHDLがヘルプファイルとして認識するというもの。
  従来のようにモジュール本体とHSファイルを別々に生成する必要がないため、モジュールとヘルプの整合性が高まる。
+ '''ハイブリッドモジュール'''とでもいうべきか。
- ハイブリッドモジュールとでもいうべきか。
  
  ||改定拡張子||改定用途||
  ||.as||global定数~%globalマクロ~%globalエクスポート関数の宣言文~%オールドモジュール本体(HSファイルと別個)||
+ ||.hs||ヘルプソース||
- ||.hs||ヘルプファイル||
  ||.hsp||スクリプト本体||
  ||.mod||ハイブリッドモジュール本体(HSドキュメント内蔵)||
  
  ただし現状.modはスルーされる。
  
+ * 慣例
+ プラグイン等で提供される定義ファイルの多くはプラグイン名(略称)が用いられるので、
+ ユーザー定義モジュールの定義ファイルの多くは「mod_」+「モジュール名(略称)」というようにモジュールであることを明示している。
+ 
+ :プラグイン例:obaq.as
+ :モジュール明示例:mod_menu.as / mod_img.as
+ :モジュール非明示例:d3m.hsp / sqlele.hsp
+ 
+ ||modプレフィクス||拡張子||分かりやすさ度||理由||
+ ||mod_||.as||5||モジュールであることを明示し、なおかつブラックボックスとしている||
+ ||mod_||.hsp||4||モジュールであることを明示している||
+ ||||.as||3||ブラックボックスとしている||
+ ||||.hsp||1||||
+ 
+ 
  * コメント
  - どうでしょう??