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
Next revision Both sides next revision
administrativ:barem_teme [2015/09/30 13:53]
Daniel Ciocirlan [Recomandări]
administrativ:barem_teme [2018/11/26 22:22]
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. Putem avea teste private. +  * 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:
Line 40: Line 38:
   * -0.2 warning-uri de compilare   * -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 +  * -0.cod duplicat
-    * formatați-vă codul să fie ușor de citit și parcurs +
-    * puteți folosi auto-formatter-ul IDE-ului pe care îl folosiți +
-  * (variabil începând de la -0.1) cod duplicat+
   * -0.1 cod înghesuit sau prea spațiat   * -0.1 cod înghesuit sau prea spațiat
   * (variabil, începând de la -0.1) hardcodări   * (variabil, începând de la -0.1) hardcodări
     * folosiți constante în locul valorilor numerice/​String-urilor literali     * folosiți constante în locul valorilor numerice/​String-urilor literali
-  * -0.1 tab-uri amestecate cu spații pentru indentare sau indentare inconsecventă (ba un tab, ba mai multe) +  * -0.1 - metode șau variabile nefolosite 
-    * IDE-ul vă ajută, folosiți formatarea IDE-ului +  * între ​-0.1 și -0.5 - metode lungi (> 100 de linii) ​care ar fi putut fi sparte, bucăți mari de logică în main etc 
-  * -0.1 surse nesemnate +  * -0.1 - bucăți de cod comentat 
-    * IDE-ul vă ajută când vă generațcomentarii Javadoc +  * între ​-0.1 și -0.5 - comentarii absente sau irelevante 
-  * -0.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ăți mari de logică în main etc +  * -0.1 - print-uri prin cod 
-  * -0.1 cod comentat +  * între -0.1 și -0.4 - nepăstrarea consistenței pentru comentarii - fie sunt toate comentariile în engleză fie sunt toate în română. 
-  * -0.1 comentarii absente sau irelevante +  * î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. 
-  * -0.1 denumire nepotrivită pentru metode, variabile, clase+  * între -0.1 și -0.3 - denumiri nepotrivite ​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.1) ruperea încapsulării, folosirea incorectă a modificatorilor ​de acces +  * între ​-0.2 și -0.5 - ruperea încapsulării 
-  * -0.1 instanceof-uri și teste de tip +  * î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) 
-    * folosițpolimorfismul în schimb +  * -0.1 instanceof-uri și teste de tip in situații în care putea fi folosit ​polimorfismul 
-  * -0.2 Javadoc necorespunzător,​ incomplet, irelevant; inclus și documentarea lipsă sau incorectă a parametrilor metodelor+  * -0.5 folosirea tipurilor "​raw" ​în loc de tipurile parametrice (generic) e.g. ''​new ArrayList()''​ în loc de ''​new ArrayList<​String>​()''​ 
 +  * (variabil, începând de la -0.2Javadoc necorespunzător,​ incomplet, irelevant; inclus și documentarea lipsă sau incorectă a parametrilor metodelor 
 +  * -0.1 lipsă Javadoc generat sau script de generare. Această depunctare nu se va aplica dacă pentru o anume temă nu este necesară exportarea de documente Javadoc.
   * (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>​()''​+  ​* -0.5 toate clasele intr-un singur fisier 
 +  * -0.3 toate sursele puse intr-un pachet 
 +  ​* -0.1 includerea altor fișiere care nu au legătură cu cerința 
 +  * -0.1 includere folder bin in arhivă 
 + 
 + 
 +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)
  
-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. 
administrativ/barem_teme.txt · Last modified: 2018/11/26 22:33 by Adriana Draghici