Esiste uno strumento per misurare le metriche del codice come LOC (riga di codice), il numero di funzioni e la dimensione media delle funzioni per i programmi Haskell?Codice Metric Tools per Haskell
risposta
Ohcount, lo strumento utilizzato da ohloh, almeno sa come distinguere le righe di commento Haskell dalle righe di codice Haskell a parte, come si può vedere ad esempio nello statistics for GHC.
Quando Joost Visser (http://www.cs.ru.nl/J.Visser/) era un membro del gruppo di ricerca pura (http://wiki.di.uminho.pt/twiki/bin/view/Research/PURe/WebHome) presso l'Universidade do Minho il gruppo ha prodotto una serie di librerie per la derivazione metriche e documentato il lavoro nei documenti di ricerca.
Non penso che il codice sia stato creato da Hackage, ma il server SVN potrebbe essere ancora attivo. Credo che avessero un codice per estrarre le metriche di Haskell, non sono sicuro che sia mai stato un obiettivo significativo: il codice per estrarre le metriche dalle grammatiche (SdfMetz) è stato scritto in Haskell. Idiomaticamente Haskell tende ad essere piuttosto conciso, il che è piuttosto contrario al valore esplicativo delle metriche.
Oltre al già menzionato HLint per il controllo dello stile del codice, non ci sono molti strumenti maturi come negli altri ecosistemi linguistici. Vorrei sottolineare i seguenti strumenti in fase di sviluppo:
- homplexity: questo progetto "ha lo scopo di valutare la complessità e la qualità del codice Haskell misurando la lunghezza relativa delle dichiarazioni, la loro profondità, e il rapporto di code-per-comment".
- argon: calcola la complessità ciclomatica.
E questo progetto è anche rilevante per la misurazione della qualità del codice: [dead-code- rilevamento] (https://hackage.haskell.org/package/dead-code-detection). – tomtau
- 1. Code Profiling Tools per Perl
- 2. R Metric RMSE non applicabile per i modelli di classificazione
- 3. Idiomatic codice Haskell per semplificare la ricorsione
- 4. Genera diagrammi per il codice Haskell
- 5. Ottimizzazione del codice Haskell
- 6. Ghc: codice Haskell parzialmente compilato?
- 7. codice Realk Haskell non compilato?
- 8. Equivalente Webkit di: -moz-system-metric (touch-enabled)
- 9. Change locale per Django-admin-tools
- 10. Configurare Haskell SDK per Haskell IntelliJ plug-in
- 11. Generazione del codice per un'altra lingua in Haskell
- 12. WSDL Generation Tools
- 13. Qual è la differenza tra "Developer Tools di Microsoft Office" e "Visual Studio Tools per Office"
- 14. generare il codice finale dal modello di codice Haskell
- 15. modo predefinito di eseguire codice in Haskell
- 16. Visual Studio Tools per errore Apache Cordova, MDAVSCLI non riuscito con codice 8
- 17. Problemi con getArgs nel vecchio codice Haskell
- 18. Codice sorgente haskell pretty-print con commenti
- 19. Perché questo codice Haskell non termina?
- 20. codice magico haskell, cosa sta succedendo qui
- 21. conversione del codice Haskell a Agda
- 22. Java: De-deprecated-Tools
- 23. Redgate SQL Tools
- 24. Perché questo codice Haskell viene compilato?
- 25. Avviso variabile non utilizzata nel codice Haskell
- 26. Titanium vs The Native Tools
- 27. makeLenses per GADT (Haskell)
- 28. Diagrammi ferroviari per Haskell?
- 29. Alternative GLUT per Haskell?
Se si è interessati anche a fare metriche per stile/qualità, si potrebbe voler controllare hlint (http://hackage.haskell.org/package/hlint). – Cirdec
"dimensione media delle funzioni" è un po 'una quantità problematica: una parte considerevole di tutte le linee nelle funzioni che scrivo sono esse stesse definizioni di funzione ... – leftaroundabout