Un ejemplo de error común de programación de Clojure es que se espera que se evalúen los efectos secundarios de una expresión perezosa. En la superficie, parece que sería útil verificar las expresiones perezosas no utilizadas. ¿Cuál sería el mejor enfoque para identificar esto y otros common mistakes? ¿Debería el compilador central verificar estas situaciones, o debería ser el dominio de un programa de pelusas para detectar? ¿Cuál sería una buena manera de comenzar la implementación?¿Cómo se podría crear una Clojure Lint?
13
A
Respuesta
4
¿Qué tal:
- métodos múltiples con ningún método
:default
- cadenas de documentación que falta
- En los casos en que el argumento de una función es siempre el mismo tipo, lo que sugiere tipo insinúa en argumentos
- Señalando múltiples copias de funciones idénticas anónimas
- Señalando la recursividad final y sugiriendo la reestructuración
- Usando una macro en una función sería suficiente
- argumentos utilizados, especialmente
& rest
argumentos de tipo - Cuando una función utilizará bignums en lugar de sólo enteros o punto
No sabe cómo estos controles flotantes haría ser implementado, pero seguramente me salvarían de mí mismo la mayor parte del tiempo.
1
Un par de ideas solo para comenzar; podría detectar código perezoso que nunca se puede realizar, o señalar áreas donde se usará la reflexión. Aunque en general, ¿es clojure un poco joven como lenguaje para expresar un conjunto común de errores comprobables?
Cuestiones relacionadas
- 1. ¿Cómo podría crear una lista en C++?
- 2. En Clojure, ¿cómo podría crear una función "agregar ID al mapa"?
- 3. ¿Cómo podría escribir una macro "defn" en Clojure?
- 4. ¿Cómo podría crear fábricas para una asociación cíclica en FactoryGirl?
- 5. ¿cómo podría crear una clase de notificación global?
- 6. ¿Se podría crear un objeto en la generación anterior?
- 7. Clojure: Cómo crear una función en tiempo de ejecución
- 8. ¿Cómo debería crear una lista y devolverla en clojure?
- 9. Android Lint contentDescripción advertencia
- 10. Cómo crear una secuencia perezosa de números aleatorios en clojure
- 11. ¿Cómo crear una lista de cadenas en Clojure?
- 12. Cómo resolver los errores de Rack Lint?
- 13. Cómo solucionar esto: problema 'Running android lint'
- 14. ¿Cómo podría crear un mensaje de Windows personalizado?
- 15. ¿Hay alguna herramienta XSL Lint?
- 16. ¿Se podría hacer que el modelo STM de Clojure funcione con varias JVM?
- 17. ¿Cómo se evalúa una cadena como una expresión de clojure?
- 18. Android Eclipse Lint API comprueba
- 19. ¿Cómo escribo una macro de Clojure para crear una expresión regular a partir de una cadena?
- 20. Cómo defnir una función de una cadena en Clojure?
- 21. Cómo esperar a que se presione una tecla en Clojure
- 22. Crear campos opcionales en el registro Clojure?
- 23. ¿Cómo se depura Clojure en NetBeans IDE?
- 24. cómo puedo crear un vector grande en clojure
- 25. ¿Cómo se construye un símbolo en clojure?
- 26. PC Lint while (TRUE) vs for (;;)
- 27. ¿Cómo podría crear una barra de pestañas personalizada similar a esta
- 28. ¿Cómo crear un archivo jar ejecutable desde un proyecto clojure?
- 29. ¿Es posible crear referencias circulares en Clojure?
- 30. Android Lint: ignorar proyectos de biblioteca