Ciao a tutti.
Come già accennato dal professor Sterbini, ho realizzato un software per valutare la leggibilità di programmi scritti in codice Python. Questo software è in grado di fornire un indice di leggibilità attraverso un classificatore binario che sfrutta un set di feature estratte dal codice sorgente. In particolare, le feature catturano la qualità di identificatori, segnature e commenti, il contenuto semantico del codice, e le corrispondenze tra il linguaggio naturale contenuto nei commenti e le parole che costituiscono gli identificatori.
Quello che manca per completare il software è un collezione di codici la cui leggibilità deve essere stata valutata manualmente da un gruppo di persone. A tal proposito, ho attivato questa semplice form che consente di indicare la leggibilità di alcuni frammenti di codice su una scala di Likert a 5 punti:
- Veramente illeggibile
- Non leggibile
- Poco leggibile
- Leggibile
- Molto leggibile
Vi chiedo di aiutarmi a completare questo dataset!
Ho assegnato a ognuno di voi (in realtà ai 200 studenti più bravi) 5 codici da valutare, estratti dai programmi consegnati dai vostri colleghi dello scorso anno. Quello che dovete fare è leggere i codici e valutarne la leggibilità, tenendo conto di quanto sono chiari i nomi scelti per variabili, funzioni ed argomenti, quanto è stato commentato e documentato il codice e quanto sono utili/chiari i commenti. Il task è molto semplice e vi richiederà una manciata di minuti per completarlo.
Abbiamo deciso di non rendere le valutazioni obbligatorie ma vi chiedo comunque di partecipare numerosi. Se avete poco tempo, potete completare le valutazioni in giorni diversi. Se lo ritenete opportuno, potete anche modificare successivamente le valutazioni assegnate.
Non appena i dati saranno pronti, farò girare il software sui vostri codici e vi mostrerò i risultati. Anche se i valori di leggibilità non verranno presi in considerazione ai fini degli esami, ritengo didatticamente interessante mostrarvi anche questa metrica.
Vi ringrazio anticipatamente per l'aiuto che spero ci fornirete.
Per partecipare: https://q2a.di.uniroma1.it/readability