User Tools

Site Tools


Problem constructing authldap
administrativ:barem_teme
Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
administrativ:barem_teme [2015/09/30 13:51]
Daniel Ciocirlan
administrativ:barem_teme [2018/11/26 22:33] (current)
Adriana Draghici [Depunctări generale pentru teme]
Line 11: Line 11:
   * Alocați suficient timp temelor. E improbabil ca o rezolvare într-un all-night coding sprint să fie de calitate.   * Alocați suficient timp temelor. E improbabil ca o rezolvare într-un all-night coding sprint să fie de calitate.
   * Nu scrieți codul din prima, ci alocați timp abordării și design-ului.   * Nu scrieți codul din prima, ci alocați timp abordării și design-ului.
-  * Fiți consecvenți unui coding style [TODO link].+  * Fiți consecvenți unui [[administrativ:​coding_style_ide|coding style]].
   * Când scrieți README-ul pentru teme:   * Când scrieți README-ul pentru teme:
     * nu reproduceți cerințele din enunț și/sau comentariile din cod     * nu reproduceți cerințele din enunț și/sau comentariile din cod
Line 18: Line 18:
     * formatați-l corespunzător - linii de 80 de caractere max, paragrafe, etc     * formatați-l corespunzător - linii de 80 de caractere max, paragrafe, etc
   * Folosiți cu încredere forumurile pentru orice: neclarități,​ coding style, best practices, etc.   * Folosiți cu încredere forumurile pentru orice: neclarități,​ coding style, best practices, etc.
-  * Testați-vă tema dincolo de testele automate. Ne rezervăm dreptul de a avea teste private pentru submisiile pe care le primim. +  * Folosiți principiile ​//Object Oriented//:
-  * Păstrați (cu sfințenie am adăuga) ​principiile ​OO:+
     * păstrați încapsularea     * păstrați încapsularea
     * folosiți polimorfismul     * folosiți polimorfismul
-    * abstractizați și programați "by contract" ​[TODO link] +    * abstractizați și programați ​[[http://​www.javapractices.com/​topic/​TopicAction.do?​Id=194|"by contract"​]]
 <note important>​ <note important>​
 Disclaimer: șansele sunt ca temele să fie mai dificile decât laboratoarele. Disclaimer: șansele sunt ca temele să fie mai dificile decât laboratoarele.
  
-Pentru rezolvarea lor, deși nu vă cerem tehnici sau cunoștințe în plus față de laboratoare,​ va fi probabil nevoie de research ​individual.+Pentru rezolvarea lor, deși nu vă cerem tehnici sau cunoștințe în plus față de laboratoare,​ va fi probabil nevoie de mai multa documentare ​individuală
  
 Vă stăm la dispoziție pe forumuri sau la email-urile de pe pagina principală. Vă stăm la dispoziție pe forumuri sau la email-urile de pe pagina principală.
Line 34: Line 32:
 == Depunctări generale pentru teme == == Depunctări generale pentru teme ==
  
-Submisiile ​pe care le primim **trebuie să compileze și să ruleze** pentru a avea posibilitatea de punctaj non-zero. ​+Temele ​pe care le primim **trebuie să compileze și să ruleze** pentru a avea posibilitatea de punctaj non-zero. ​
  
 Vom aplica mici depunctări legate de calitatea codului și a abordărilor temelor. Din 10 puncte: Vom aplica mici depunctări legate de calitatea codului și a abordărilor temelor. Din 10 puncte:
  
-  ​* -0.2 warning-uri de compilare+**Coding style si organizare:​** 
 +  * -0.1 - cod înghesuit sau prea spațiat 
 +  ​* -0.2 warning-uri de compilare
     * verificați import-urile,​ variabilele nefolosite, etc     * verificați import-urile,​ variabilele nefolosite, etc
-  * -0.2 linii mai lungi de 80 de caractere +  * între ​-0.1 și -0.4 - nepăstrarea consistenței pentru comentarii - fie sunt toate comentariile în engleză fie sunt toate în română. 
-    * formatați-vă codul să fie ușor de citit și parcurs +  între -0.1 și -0.4 nepăstrarea consistenței pentru denumiri ​fie sunt toate n engleză fie în română. Puteți avea însă denumirile și comentariile în limbi diferite. 
-    putețfolosi auto-formatter-ul IDE-ului pe care îl folosiți +  * între ​-0.1 și -0.3 - denumiri nepotrivite pentru metode, variabile, clase 
-  * (variabil începând de la -0.1) cod duplicat +   ​* -0.1 - bucăți de cod comentat 
-  * -0.1 cod înghesuit sau prea spațiat +   ​* ​-0.5 - toate clasele intr-un singur fisier 
-  (variabil, începând de la -0.1) hardcodări +  * -0.3 - toate sursele puse intr-un pachet 
-    * folosiți constante în locul valorilor numerice/​String-urilor literali +  * -0.1 - includerea altor fișiere care nu au legătură cu cerința 
-  * -0.1 tab-uri amestecate cu spații pentru indentare sau indentare inconsecventă (ba un tab, ba mai multe) +  * -0.1 - includere folder bin in arhivă 
-    IDE-ul vă ajută, folosiți formatarea IDE-ului + 
-  * -0.1 surse nesemnate +**Documentare:​** 
-    IDE-ul vă ajută când vă generați comentarii ​Javadoc +  ​între ​-0.1 ș-0.5 - comentarii ​absente sau irelevante 
-  * -0.1 metode lungi (> 150 de linii) +  * -0.1 - comentarii ​de tip TODO în cod 
-  * (variabil, începând de la -0.2) metode kilometrice (> 300 de linii)bucățmari de logică în main etc +  * (variabil, începând de la -0.2) Javadoc necorespunzător,​ incompletirelevant; inclus șdocumentarea lipsă sau incorectă a parametrilor metodelor 
-  * -0.1 cod comentat +  * -0.1 - lipsă Javadoc generat ​sau script de generareAceastă depunctare nu se va aplica dacă pentru ​o anume temă nu este necesară exportarea de documente Javadoc.
-  * -0.1 comentarii absente ​sau irelevante +
-  * -0.1 denumire nepotrivită pentru ​metode, variabile, clase+
   * (variabil, în funcție de alocarea punctajului fiecărei teme) Readme necorespunzător,​ lipsă, conținut irelevant, etc   * (variabil, în funcție de alocarea punctajului fiecărei teme) Readme necorespunzător,​ lipsă, conținut irelevant, etc
-  ​* (variabilîncepând ​de la -0.1ruperea încapsulării, folosirea incorectă a modificatorilor ​de acces + 
-  * -0.1 instanceof-uri și teste de tip +**Design, implementare:​** 
-    * folosițpolimorfismul ​în schimb +  * -0.5 - cod duplicat 
-  * -0.2 Javadoc necorespunzător,​ incomplet, irelevant; inclus și documentarea lipsă sau incorectă a parametrilor metodelor+  * între -0.1 și -0.3 hardcodări 
 +    * folosiți constante în locul valorilor numerice/​String-urilor literali 
 +  * -0.1 - metode șau variabile nefolosite 
 +  * între -0.1 și -0.5 - metode lungi (> 100 de linii) care ar fi putut fi spartebucăți mari de logică în main etc 
 +  * -0.1 - print-uri prin cod 
 +  * între -0.2 și -0.5 - ruperea încapsulării 
 +  * între -0.2 și -0.5 - modificatori ​de acces folositi necorespunzator (e.g. metode lăsate publice care de fapt ar trebui să fie private) 
 +  * -0.1 instanceof-uri și teste de tip in situații în care putea fi folosit ​polimorfismul 
 +  * -0.5 - folosirea tipurilor "​raw"​ în loc de tipurile parametrice (generic) e.g. ''​new ArrayList()''​ în loc de ''​new ArrayList<​String>​()''​
   * (variabil, -0.2 până la -2 sau peste) design rigid, greoi, inextensibil,​ bug-prone   * (variabil, -0.2 până la -2 sau peste) design rigid, greoi, inextensibil,​ bug-prone
-  * -0.1 folosirea tipurilor "​raw"​ în loc de tipurile parametrice (generic) e.g. ''​new ArrayList()''​ în loc de ''​new ArrayList<​String>​()''​ 
  
-Evaluatorii pot aplica depunctări mai mari decât cele prezentate aici, în funcție de numărul de apariții ale greșelilor sau de gravitatea lor.+Lista nu este exhaustivă. ​Evaluatorii pot aplica depunctări mai mari decât cele prezentate aici, în funcție de numărul de apariții ale greșelilor sau de gravitatea lor. 
 + 
 +Pentru abateri minore (de exemplu un nume de metodă folosit neadecvat, in toată tema), se vor pune doar observații cu -0.0. 
 + 
 +Ce considerăm util să conțină un fișier README pentru o temă la POO: 
 +* componentele soluției: rolurile lor și relațiile dintre ele 
 +   * **nu** este necesar să luați pe rând fiecare clasă și să îi descrieți câmpurile și metodele, pentru asta există javadoc. 
 +* flow-ul dintre componente - e.g. cum se realizează o anumite acțiune, ce clase sunt implicate. 
 +* probleme întâmpinate (dacă ați avut) 
administrativ/barem_teme.1443610263.txt.gz · Last modified: 2015/09/30 13:51 by Daniel Ciocirlan