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/10/03 14:59]
Adriana Draghici
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. Putem avea teste private. 
   * Folosiți principiile //Object Oriented//:   * Folosiți principiile //Object Oriented//:
     * păstrați încapsularea     * păstrați încapsularea
Line 37: Line 36:
 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.ș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 școmentariile ​în limbi diferite. 
-    * puteți folosi auto-formatter-ul IDE-ului pe care îl folosiț+  * între ​-0.1 și -0.3 - denumiri nepotrivite ​pentru ​metodevariabileclase 
-  * (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 tabba 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ă să vă generați comentarii Javadoc cu numele autorului predefinit +  * între ​-0.1 și -0.5 - comentarii absente sau irelevante 
-  * -0.1 metode lungi (> 150 de linii) în situații în care ar putea fi mai scurte ​ +  * -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 bucăți de cod comentat +
-  * (variabil, începând de la -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, începând de la -0.1) ruperea încapsulării,​ folosirea incorectă a modificatorilor de acces +
-  * -0.1 instanceof-uri și teste de tip +
-    * folosiți polimorfismul ​în schimb+
   * (variabil, începând de la -0.2) Javadoc necorespunzător,​ incomplet, irelevant; inclus și documentarea lipsă sau incorectă a parametrilor metodelor   * (variabil, începând de la -0.2) Javadoc necorespunzător,​ incomplet, irelevant; inclus și documentarea lipsă sau incorectă a parametrilor metodelor
-  * -0.1 lipsă Javadoc generat ​ sau script de generare+  * -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, în funcție de alocarea punctajului fiecărei teme) Readme necorespunzător,​ lipsă, conținut irelevant, etc 
 + 
 +**Design, implementare:​** 
 +  * -0.5 - cod duplicat 
 +  * î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 sparte, bucăț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>​()''​ 
  
 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. 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.1443873573.txt.gz · Last modified: 2015/10/03 14:59 by Adriana Draghici