Table of Contents

Coding Style

Pe Moodle, pe langa punctajul pe testele unitare de pe checkerul local, daca aveti punctaj maxim, o sa primiti si un scor pe coding style, la etapa 1 arata ceva de genul:

Total Score: xx/100
Coding Style
	global score: x.xx
	accept function score: x.xx
	subset construction function score: x.xx

Scopul acestui scor este de a incuraja studenti sa reitereze pe codul scris, pentru a obtine un cod mai bun.

Datorita faptului ca este ceva experimental, daca alegeti sa ignorati complet scoreurile primite NU o sa aduca niciun fel de depunctare, dar daca participati aveti posibilitatea de a primi mici bonusuri.

Dupa trecerea unui deadline la o etapa, o sa apara aceste scoruri (in urmatoare cateva zile), aveti voie sa retrimiti oricate submisii doriti fara nicio depunctare (comform regulamentului) pentru a imbunatati calitatea codului, cu conditia ca pana in deadline sa fii obtinut minim 0.7p. Daca nu ati obtinut cele 0.7p, tot aveti voie sa retrimiteti, dar o sa pastrati acea depunctare de 0.3p.

Ce inseamna scorurile?

Ce incercam noi sa surprindem prin aceste metrici este complexitatea codului scris. Ele sunt impartite in mai multe scoruri pentru a va ajuta sa detectati mai usor unde sunt probleme.

In general, cu cat scorul este mai mic, cu atat codul vostru este mai complex (valorile pot ajunge si negative).

Orice scor peste 5 este desirabil, inseamna ca calitatea codul este “peste medie”.

Ce incercam sa surprindem este daca codul vostru este complex intr-un mod nenecesar, diverse coduri pot fi mai complexe/mai putin complexe datorita problemelor si cerintelor care le rezolva, asta nu face codul pentru o problema mai bun sau prost ca cel pentru alta, de asta metricile noastre sunt specifice problemei si cerintelor din proiect.

Ce afecteaza scorurile?

Exemple:

if cond:
	return True
return False
 
# ar fi echivalent cu un return, if-ul e redundant
 
if {special_case}:
	{do_somthing}
 
{general_case}
 
# atunci cand {special_case} are defapt acelasi behaviour si pe {general_case}

NOTE: asta nu e o lista exhaustiva

Ce nu afecteaza scorurile?

Note specifice

Daca arhiva contine si altceva pe langa folderul src, e posibil ca scorul global sa fie tras in jos de codul din teste sau orice altceva ati uploadat, trimiteti doar codul necesar