4

いくつかの関数を含むJavaScriptライブラリを実装したとしましょう。例:

double = function(a){ return a*2; };
root = function(a,b,c){ return -b+Math.sqrt(b*b-4*a*c)/(2*a); };
hypotenuse = function(a,b){ return Math.sqrt(a*a+b*b); };

そのコードはグローバル名前空間を汚染するため、そのように配布することはお勧めできません。

公開する前にJavaScriptライブラリをフォーマットする適切な方法は何ですか?

4

2 に答える 2

5

関数はクラスを使用せず、状態を必要とせず、単純なトピックに関連しているため、単に次のように公開できます。

myMath = {
   double: function(a){ return a*2; },
   root: function(a,b,c){ return -b+Math.sqrt(b*b-4*a*c)/(2*a); },
   hypotenuse: function(a,b){ return Math.sqrt(a*a+b*b); }
};

プライベート関数または状態を使用したい場合は、モジュール パターンを使用できます。

myMath = (function(){
   var square = function(x){return x*x}; // private function
   return {
       double: function(a){ return a*2; },
       root: function(a,b,c){ return -b+Math.sqrt(square(b)-4*a*c)/(2*a); },
       hypotenuse: function(a,b){ return Math.sqrt(square(a)+square(b)); }
   }
})();

しかし、ここでこの構成を使用する理由はまったくありません。

ここで、github での公開はそれ以上のもの (ドキュメント、テスト ユニット、readme.md など) であることに注意してください。ただし、SO で建設的に議論することはほとんどできません。

于 2013-01-21T19:57:17.650 に答える
2

Javascript関数に適切な名前空間を付ける方法についての説明は、かなりよく文書化されています(以下の#2を参照)。ライブラリを公開するときに忘れられがちなことに焦点を当てます。

  1. ドキュメント。私はこれを十分に強調することはできません。ライブラリを使用したい人は、ライブラリの機能と使用方法の例を知っておく必要があります。人々はしばしばドキュメンテーションを簡単に読みますが、彼らは例に焦点を合わせますので、それらの例があなたのライブラリを使用する好ましい方法を彼らに教えることを確認してください。ソースの内外の両方でドキュメントを提供することは、採用を得るのに非常に役立ちます。

  2. 他の人とうまく遊ぶことができるように、関数に名前空間を付けますJavaScriptで名前空間を宣言するにはどうすればよいですか?を参照してください。Javascriptでこれを実現する方法について。

  3. それらの使用法を説明する変数、パラメーター、および関数名を使用します。の変数名は、b多くの場合、その使用目的についてユーザーに何も伝えません。それらが長くても大丈夫です。そのため、本番環境で使用するための縮小バージョンを提供しています。

  4. ライブラリを使いやすくします。簡単なダウンロードとそれを開始する方法の説明を提供します。

  5. ユーザーと通信します。プロジェクトがオープンソースである場合は、プロジェクトで抱えている問題(バグ追跡、GitHubの問題、メーリングリストなど)を簡単に伝えられるようにします。これは、コミュニティを構築するのに役立ち、おそらく人々が貢献することに興味を持ってもらうのに役立ちます。

公開されたライブラリを改善する方法は他にもありますが、これらは最も人気のあるライブラリに共通しているため、ライブラリに広める前に検討することをお勧めします。幸運を!

于 2013-01-21T20:09:11.597 に答える