Un esempio di errore di programmazione Clojure comune è l'attesa di una espressione pigra da valutare per gli effetti collaterali. In apparenza sembra utile controllare le espressioni pigre inutilizzate. Quale sarebbe l'approccio migliore per identificare questo e altri common mistakes? Il compilatore principale dovrebbe verificare queste situazioni o dovrebbe essere il dominio di un programma di filtraggio da rilevare? Quale sarebbe un buon modo per iniziare l'implementazione?Come si crea un Clojure Lint?
13
A
risposta
4
ne dite:
- multimethods con nessun metodo
:default
- stringhe documentazione mancante
- Nei casi in cui l'argomento di una funzione è sempre lo stesso tipo, tipo suggerendo accenna su argomentazioni
- Indicare più copie di identiche funzioni anonime
- Puntare la ricorsione della coda e suggerire la ristrutturazione
- utilizzando una macro in cui una funzione basterebbe
- argomenti non utilizzati, in particolare
& rest
argomenti di tipo - Dove una funzione utilizzerà bignum invece di soli interi o in virgola mobile
non è sicuro come questi controlli sarebbero essere implementato, ma sicuramente mi salveranno da me stesso molto tempo.
1
Un paio di idee solo per iniziare; potrebbe rilevare il codice pigro che non può mai essere realizzato o indicare le aree in cui verrà utilizzato il riflesso. Sebbene in generale il clojure sia un po 'giovane come lingua per esprimere un insieme comune di errori dimostrabili?