私は実際にマルチメソッドとプロトコルをたくさん使用し始めているので、この質問をしていますが、そうすることで私のコードをあまりにも保守不能にしているのか疑問に思います。たとえば、古き良き(または悪い古い:) OO日には、すべてのインターフェイスとメソッドが同じソースファイルにあることを意味する、特定の型に関連するすべてのものを見つける場所を知っていましたが、今はそれらを広げることができますあらゆる所に。これに関する経験はありますか?Clojureマルチメソッドとプロトコルによくある問題は?
1
A
答えて
1
Javaのような特定の方法でコードを整理しなければならない場合は、すべてがさまざまな場所に分散する可能性があります。
ロジックユニットでコードを整理するためには、開発者として完全にあなた次第です。したがって、それらを見つけるのが容易であり、With great power comes great responsibility
ということに留意してください。
機能的なスタイルで作業するほど、コードを整理するためのより良い方法が見つかるでしょう。重要なのは、あなたがリファクタリングを恐れていないということです。 Emacs/SlimeのM-.
のほかに、どこにいてもシンボルの定義が表示されます。他のClojure IDEプラグインにも同様の機能があると思います。
関連する問題
- 1. 環境に依存するプロトコル/マルチメソッドのクローズアップ
- 2. いくつかのプロトコルの問題
- 3. 次のClojureプロトコルで何が問題になっていますか? Clojureは1.2で
- 4. ClojureでgetCodeBaseを呼び出すのに問題がある
- 5. ClojureプロトコルとGroovyカテゴリの相違点
- 6. Clojureキーワードとオプションの引数の問題
- 7. どのようにClojureプロトコルを別のプロトコルに拡張できますか?
- 8. JavaクラスでのみClojureマルチメソッドを使用できますか?
- 9. Clojureのクラスパスの問題
- 10. Clojureでこのマクロに問題がありますか?
- 11. Clojureは、遅延評価の問題
- 12. プロトコルを実装する際の問題
- 13. Clojureマルチメソッドは、クラスではなくインターフェイスの存在に基づいてどのように呼び出すことができますか?
- 14. プロトコルまたはマルチメソッドを使用してClojureQLを拡張できますか?
- 15. 複数のディスパッチとマルチメソッド
- 16. 問題の理解:Clojureでの状態
- 17. 奇妙なClojureボックス - ライブラリ(dll)の問題
- 18. Clojure + Swingアブソリュート位置決めの問題
- 19. は正しく、次のように私の問題があるbouny城に
- 20. JavaのTCPソケットの近くにある問題と、私はソケットを再開しようとすると、今
- 21. Clojureはどのように問題の分離を起こすのですか?
- 22. jQueryオーバーレイに穴をあけようとすると、問題
- 23. Facebookのようなボタンhttps問題:httpとhttpsからのプロトコルの不一致
- 24. "プロトコル、ドメイン、ポートが一致している必要があります"問題
- 25. TextmateとPHP - バンドルに問題がある
- 26. UITextFieldとNSStringに問題がある
- 27. JLabelsとJframeに問題がある
- 28. LuceneのIndexReader.reopenは、次のような状況があること、私はLuceneの2.4に問題が正しく
- 29. Url.Contentは問題がある
- 30. 私は非常によく似ているという問題がある複合主キー