This shows you the differences between two versions of the page.
so2:teme:general [2014/04/03 00:34] constantin.serban1512 Remove "Windows" ghosts. |
so2:teme:general [2017/03/03 23:43] (current) adrian.stanciu |
||
---|---|---|---|
Line 2: | Line 2: | ||
Codul vostru trebuie nu numai să "meargă", ci și să respecte anumite standarde. Aveți mai jos câteva indicații pentru teme, împreună cu depunctările aferente pentru nerespectarea lor: | Codul vostru trebuie nu numai să "meargă", ci și să respecte anumite standarde. Aveți mai jos câteva indicații pentru teme, împreună cu depunctările aferente pentru nerespectarea lor: | ||
- | *-1.0: warning-uri la compilare | + | *-0.2: warning-uri la compilare |
*-0.1: 10-20 linii mai lungi de 80 de caractere; | *-0.1: 10-20 linii mai lungi de 80 de caractere; | ||
*-0.2: mai mult de 20 de linii mai lungi de 80 de caractere; | *-0.2: mai mult de 20 de linii mai lungi de 80 de caractere; | ||
Line 13: | Line 13: | ||
*-0.2: funcții "și mai kilometrice" (> 300 de linii); | *-0.2: funcții "și mai kilometrice" (> 300 de linii); | ||
*-0.1: cod comentat; pentru debug recomandăm folosirea unui macro; | *-0.1: cod comentat; pentru debug recomandăm folosirea unui macro; | ||
- | *-0.1: comentarii inadecvate; recomandăm parcurgerea sumară a fișierului ''Documentation/kernel-doc-nano-HOWTO.txt'' pentru informații despre formatul comentariilor; | + | *-0.1: comentarii inadecvate; recomandăm parcurgerea sumară a fișierului [[https://www.kernel.org/doc/Documentation/kernel-doc-nano-HOWTO.txt|Documentation/kernel-doc-nano-HOWTO.txt]] pentru informații despre formatul comentariilor; |
*-0.1: funcții și variabile folosite doar local care nu sunt statice; | *-0.1: funcții și variabile folosite doar local care nu sunt statice; | ||
- | *-0.2: nu se folosesc funcții copy_{to,from}_user unde este nevoie de ele; | + | *-0.2: nu se folosesc funcții ''copy_{to,from}_user'' unde este nevoie de ele; |
*-0.2: nu sunt verificate valorile de retur ale funcțiilor; | *-0.2: nu sunt verificate valorile de retur ale funcțiilor; | ||
*-0.1: nu sunt întoarse coduri de eroare relevante; | *-0.1: nu sunt întoarse coduri de eroare relevante; | ||
- | *-0.3: probleme de sincronizare; | + | *-0.2/-0.3: probleme de sincronizare (-0.2 sincronizări parțiale, -0.3 mecanismele de sincronizare lipsesc sau sunt incorecte); |
*-0.1: includerea de fișiere binare sau irelevante în arhivă; | *-0.1: includerea de fișiere binare sau irelevante în arhivă; | ||
*-0.2: memory leaks; | *-0.2: memory leaks; | ||
*-0.3: folosire operații blocante în context atomic; | *-0.3: folosire operații blocante în context atomic; | ||
- | Majoritatea comentariilor de stil le puteți verifica folosind ''scripts/checkpatch.pl'', prezent în orice tree de Linux. Pentru situații punctuale în care încălcați regulile, argumentați printr-un comentariu sau o precizare în fișierul README. | + | Majoritatea comentariilor de stil le puteți verifica folosind [[http://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/tree/scripts/checkpatch.pl|scripts/checkpatch.pl]], prezent în orice tree de Linux. Pentru situații punctuale în care încălcați regulile, argumentați printr-un comentariu sau o precizare în fișierul ''README''. |
**Folosire**: | **Folosire**: | ||
- | /usr/src/linux/scripts/checkpatch.pl --no-tree -f tema-mea.c | + | scripts/checkpatch.pl --no-tree --terse -f tema-mea.c |
- | Pentru mai multe informații despre coding style, puteți citi fișierul ''Documentation/CodingStyle'', prezent în orice tree de kernel. | + | Pentru mai multe informații despre coding style, puteți citi fișierul [[http://lxr.free-electrons.com/source/Documentation/process/coding-style.rst|Coding Style]], prezent în orice tree de kernel. |