私の質問は、なぜ人々はeduという名前の少なくとも1つのフォルダー、次にmitという名前の別の単一フォルダー(たとえば)、その後にサブフォルダー内のすべてのコードを含むディレクトリ構造を作成するのですか?
これはある種の識別子ですか?
構造は実際に何らかの理由でコンピューターによって使用されていますか?それとも単に読者を助けるために使用されていますか?
もしそうなら、それはどのように読者を助けますか?
私の質問は、なぜ人々はeduという名前の少なくとも1つのフォルダー、次にmitという名前の別の単一フォルダー(たとえば)、その後にサブフォルダー内のすべてのコードを含むディレクトリ構造を作成するのですか?
これはある種の識別子ですか?
構造は実際に何らかの理由でコンピューターによって使用されていますか?それとも単に読者を助けるために使用されていますか?
もしそうなら、それはどのように読者を助けますか?
これは、名前の衝突を防ぐために行われます。デフォルトのルールは、パッケージ構造としてドメイン名の逆を使用することです
したがって、Googleはすべてのコードをcom.google.*
パッケージに保持し、Microsoftはコードをcom.microsoft.*
パッケージに保持します。次に、両方の会社がSearchEngineクラスを実装している場合、名前の衝突は発生しません。
edu.mit.*
教育機関も同じことをしているので、サブパッケージ内のコードはMITのグループによって開発された可能性が高いことをご存知でしょう。
Java の規則では、パッケージ階層に一致するようにソース ディレクトリを配置します。ソース ファイルとクラス ファイルの管理などを参照してください。
したがって、クラスがある場合edu.mit.stk.Foo
、それは次のように配置されedu/mit/stk/Foo.java
ます。
名前空間です。クラス/パッケージ名の衝突を防ぎます。通常、これは会社のドメイン名を逆にしたもの (例: com.ibm.PackageName
) ですが、その値は任意であり、何でもかまいません。
慣例により、Javaパッケージ名は、逆の順序でドメイン命名規則に従います。したがってedu.mit
、で開発されたパッケージの適切なプレフィックスですmit.edu
。
パッケージの規則と一致するようにします(インターネットドメイン名を逆にしたように見えます)。
詳細については、 http://docs.oracle.com/javase/tutorial/java/package/namingpkgs.htmlを参照してください。
パッケージは、名前の競合を避けるために、逆のインターネットドメイン名を使用して名前が付けられます。したがって、ecliplseからのcalssはpackage com.eclipse.XYZClass
パッケージの命名から:
企業は、逆のインターネットドメイン名を使用してパッケージ名を開始します。たとえば、example.comのプログラマーによって作成されたmypackageという名前のパッケージの場合はcom.example.mypackageです。
正しく識別されるためには、パッケージは同じ名前のflderにある必要があります。したがって、にクラスがある場合com.madbreaks.MyClass
、フォルダ構造は次のようになります。
com
|
+--madbreaks
|
+---MyClass