Domanda

Un esempio di un errore comune di programmazione Clojure si aspetta un'espressione pigro per essere valutati per effetti collaterali. In superficie appare controllando per le espressioni pigri inutilizzati sarebbe utile. Quale sarebbe l'approccio migliore per identificare questo e altri href="http://groups.google.com/group/clojure/browse_thread/thread/245ed3cb5523aea2/2f2b94f2e7d9010a" errori comuni ? Se il compilatore nucleo verificare la presenza di queste situazioni, o dovrebbe essere il dominio di un programma di lanugine per rilevare? Quale sarebbe un buon modo per iniziare la realizzazione?

È stato utile?

Soluzione

Come su:

  • multimethods con nessun metodo :default
  • stringhe documentazione mancante
  • Nei casi in cui l'argomento una funzione è sempre lo stesso tipo, suggerendo tipo note su argomenti
  • Sottolineando più copie di funzioni anonime identiche
  • Sottolineando la ricorsione in coda e suggerendo di ristrutturazione
  • Utilizzo di una macro in cui una funzione basterebbe
  • argomenti non utilizzati, argomenti di tipo particolare & rest
  • Quando si utilizza una funzione bignum invece di solo interi o virgola mobile

Non sono sicuro di come questi controlli verrebbero attuate, ma avrebbero certo salvami da me stesso un sacco di tempo.

Altri suggerimenti

Un paio di idee solo per iniziare le cose; potrebbe rilevare il codice artificiale che non può essere realizzato, o evidenziare aree dove verrà utilizzato riflessione. Anche se in generale è un po 'giovane clojure come linguaggio per esprimere un insieme comune di errori dimostrabili?

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top