[RESEARCH] Valutazione della leggibilità del codice

simone (25820 points)
34 97 209
asked Jan 5, 2019 in Avvisi by simone (25,820 points)
edited Jan 5, 2019 by andrea.sterbini

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:

  1. Veramente illeggibile
  2. Non leggibile
  3. Poco leggibile
  4. Leggibile
  5. 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

2 Answers

_andrea_ (45670 points)
2 39 297
answered Jan 5, 2019 by _andrea_ (45,670 points)
Come si fa a partecipare?
v
val9 (9770 points)
0 28 53
commented Jan 5, 2019 by val9 (9,770 points)
_andrea_ (45670 points)
2 39 297
commented Jan 5, 2019 by _andrea_ (45,670 points)
Grazie, ora vedo
T
Tommaso (1480 points)
0 8 22
commented Jan 6, 2019 by Tommaso (1,480 points)
Io in quella pagina non vedo nulla, è un mio problema?
_andrea_ (45670 points)
2 39 297
commented Jan 6, 2019 by _andrea_ (45,670 points)
Qui dice che sono stati scelti i 200 studenti più bravi, potrebbe essere che non rientri nel limite
simone (25820 points)
34 97 209
commented Jan 6, 2019 by simone (25,820 points)
Esattamente.
andrea.sterbini (172680 points)
511 927 1776
commented Jan 6, 2019 by andrea.sterbini (172,680 points)
Non prendetela come un giudizio ... plis ...
T
Tommaso (1480 points)
0 8 22
commented Jan 6, 2019 by Tommaso (1,480 points)
ok grazie, nessun problema era per capire
simone (25820 points)
34 97 209
commented Jan 6, 2019 by simone (25,820 points)
Ci tengo a precisare che per stilare la classifica ho preso in considerazione solo quegli studenti che hanno consegnato almeno 6 esercizi.
simone (25820 points)
34 97 209
commented Jan 7, 2019 by simone (25,820 points)

Ho esteso la raccolta dati a tutti gli studenti che hanno consegnato almeno un homework. Partecipate numerosi! devil

a.capobianco1 (16770 points)
1 54 165
answered Jan 14, 2019 by a.capobianco1 (16,770 points)
Come procede la ricerca?
simone (25820 points)
34 97 209
commented Jan 14, 2019 by simone (25,820 points)

Per il momento hanno partecipato 129 studenti su un totale di 360 (l'obiettivo iniziale era 200).

Le valutazioni raccolte sono 624 su un totale di 1800 (il target è fissato a 1000).

Purtroppo una buona fetta di studenti (circa 40) non vuole partecipare alla raccolta dei dati 

a.capobianco1 (16770 points)
1 54 165
commented Jan 14, 2019 by a.capobianco1 (16,770 points)
edited Jan 14, 2019 by a.capobianco1
Potresti espandere il numero totale dei partecipanti e se ti arrivano più valutazioni di quelle che ti mancano tieni solo da quelle dei più alti in classifica. Inoltre potresti fissare questo post sempre al primo posto...

Edit: rileggendo ho visto che quelli che non hai considerato hanno consegnato meno di 6 esercizi.. Quindi includerli forse sarebbe sbagliato... Invece lasciare il post in evidenza potrebbe incoraggiare quelli che mancano...
simone (25820 points)
34 97 209
commented Jan 14, 2019 by simone (25,820 points)

Ti ringrazio per i preziosi consigli (a proposito, ho sistemato la colonna bonus devil).

Abbiamo già esteso la raccolta a tutti gli studenti che hanno consegnato almeno un homework.

Ogni tanto inviamo una notifica per ricordare il task, purtroppo molti studenti accedono al forum ma non hanno 5 minuti di tempo per contribuire alla raccolta dati. 

a.capobianco1 (16770 points)
1 54 165
commented Jan 14, 2019 by a.capobianco1 (16,770 points)
Non si poteva chiedere di meglio :)