Ich stelle diese Frage, während ich anfange, Multimethoden und Protokolle wirklich zu benutzen, aber dabei frage ich mich auch, ob ich meinen Code zu unwartbar mache. Zum Beispiel in den guten alten (oder schlechten alten :) OO-Tagen würde ich wissen, wo alles zu einem particulate Typ zu finden ist, was bedeuten würde, dass alle Schnittstellen und Methoden in der gleichen Quelldatei wären, aber jetzt können sie verteilt werden überall. Irgendwelche Erfahrungen dazu?Häufige Probleme mit Clojure Multi-Methoden und Protokollen?
1
A
Antwort
1
Es ist wahr, dass alles an verschiedenen Orten verstreut sein kann, wenn Sie nicht gezwungen sind, Code auf bestimmte Arten zu organisieren, wie Java Sie zwingt.
Es ist völlig Ihnen als Entwickler überlassen, Code in logischen Einheiten zu organisieren, so dass es einfacher sein könnte, sie zu finden, und denken Sie daran, dass With great power comes great responsibility
.
Je mehr Sie im funktionalen Stil arbeiten, desto besser können Sie Ihren Code organisieren. Der Schlüssel ist, dass Sie keine Angst vor Refactoring haben. Neben M-.
in Emacs/Slime bringen Sie die Definition von Symbol, wo immer Sie sind. Ich nehme an, dass andere Clojure IDE-Plugins eine ähnliche Funktion haben.
Verwandte Themen
- 1. Definieren von Clojure Multimethoden
- 2. Kann ich ClojureQL mit Protokollen oder Multimethoden erweitern?
- 3. Ipython häufige Probleme
- 4. Implementieren von benutzerdefinierten Datenstrukturen mit Clojure-Protokollen
- 5. Allgemeine Syntax von Multimethoden
- 6. Node.js Heroku App Anwendungsfehler. Probleme mit Protokollen
- 7. Häufige Probleme bei der Verwendung von TransactionScope und MS DTC
- 8. Unterschied zwischen nachrichtenorientierten Protokollen und stromorientierten Protokollen
- 9. IE8: Häufige Leistungsstörungen mit Javascript?
- 10. Häufige Speicherungen mit Entitätsframework
- 11. Aus welchen Gründen sind Protokolle und Multimethoden in Clojure weniger leistungsfähig für Polymorphie als Typklassen in Haskell?
- 12. Probleme beim Aufruf von getCodeBase in Clojure
- 13. Alternativen zu Multimethoden in Scala oder Jython
- 14. Optionale Verschlüsse in Swift-Protokollen
- 15. WinForms: häufige Aufgaben automatisieren
- 16. Entfernen alter Verzeichnisse mit Protokollen
- 17. Verhalten von Protokollen mit Selbst
- 18. Sortieren von Protokollen mit Regex?
- 19. Azure SQL häufige Verbindungstimeouts
- 20. Häufige Fehler mit Zeigern in Go
- 21. TableData.insertAll mit templateSuffix - häufige 503 Fehler
- 22. Testkataloge - häufige Fehler oder Testfälle
- 23. WebSocket häufige onmessage zero-copy
- 24. clojure oauth und credentials
- 25. Clojure closures und GC
- 26. Clojure spec und Plattenbauer
- 27. SQL-Select-top häufige Aufzeichnungen
- 28. Java: Häufige Spikes im "used memory" Graph
- 29. JavaFX Tableview hoch häufige Updates
- 30. Swift Reihe von Protokollen mit associatedtype