私は比較的新しいClojureですが、私は多くのプロジェクトが "コア"名前空間を実装していることに気付きました。例えばfoobar.core
は非常に一般的なパターンのようです。この背景には何があり、なぜ事実上の標準ですか?「コア」名前空間命名法は、どこから派生していますか?
9
A
答えて
2
これは単なる「コア」機能を表す一般的な名前です。 Clojureの中心的な機能は、さまざまな問題領域で必要とされる可能性のある非常に汎用的な機能を持つ汎用プログラミング言語を定義しています。特定の問題のドメインにのみ適用できる関数は、clojure.string
やclojure.set
などのドメイン固有の名前空間に入ります。 clojure.core
をモデルにした、Leiningenを同様
ツールは、あなたが書くしようとしているプログラムの先験的どのように知ることができないので、それらはデフォルトでfoo/core
名前空間であなたを設定 - clojure.core
はClojureののコア機能です、だから、foo.coreはfooの中心的な機能です。
、あなたのコアの名前空間に少ない一般的な名前を与える、または単に(例えば、あなたの-main
機能を保持するなど)、ブートストラップをキックオフするfoo/core
を使用できる場合は、それが奨励されます、あなたのコードの大部分は、より意味的に意味の中に存在するように、代わりに名前空間。これにより、後で作業する特定のコードを見つけるのに役立ちます。
関連する問題
- 1. Wcfサービスプロキシの名前/名前空間の命名方法
- 2. XAML名前空間の命名規則
- 3. .netコアのSystem.Web.Services名前空間
- 4. c#Microsoft名前空間の名前はどこで検索できますか?
- 5. C++名前空間の使用法と命名規則
- 6. haskellに標準モジュール/名前空間の命名規則はありますか?
- 7. 匿名名前空間はすべての名前空間を囲んでいますか?
- 8. 命令の名前空間.NETリフレクタ
- 9. C#名前空間セパレータ(。)はどこかで定義されていますか?
- 10. アプリの名前空間はどこにありますか?[Android]
- 11. 異なる名前空間の派生クラス
- 12. 異なる名前空間から名前空間のリソースを作成する
- 13. JSF名前空間この問題は、古いかどう
- 14. 型または名前空間名「ServiceBus」名前空間に存在していない「マイクロソフト」
- 15. XAML名前空間の最適な命名規則は何ですか?
- 16. TypeScriptは名前空間をサポートしていますか?
- 17. HTML5は名前空間をサポートしていますか?
- 18. 別の名前空間内からのC++グローバル名前空間アクセス
- 19. この名前空間の使用は正しいですか?
- 20. コントローラー名とプレゼンター名前空間の名前が競合しています
- 21. ACPI名前空間のオブジェクトのカタログはどこですか?
- 22. 私のSystem.Numerics名前空間はどこですか?
- 23. ConfigurationManagerの名前空間はどこですか?
- 24. System.Windows.Forms.Integration名前空間はどこですか?
- 25. 拡張メソッドの名前空間とスポンサークラスの命名規則
- 26. 名前空間からのメソッド連鎖
- 27. 名前空間
- 28. グローバルな名前空間から何かを参照していますか?
- 29. 名前空間なしのGroovy XMLSlurper名前空間エラー
- 30. 名前空間をグローバルに参照していますか?
おそらく 'clojure.core'の規則の直後です。しかし、Stuart Sierraらは、あらゆるライブラリ(およびデフォルトのLeiningenプロジェクト)について、「何とか」を使いすぎることを誇張している。 – noahlz
Proのヒント: 'lein new foo.bar'は' bar/core'ではなく 'foo/bar'を作成します。 – vemv
@noahzリンクがありますか?私はこのことに関するスチュアートの意見を読んで好奇心が強い。 – maxcountryman