This is an old revision of the document!


Indicații generale teme

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.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.1: mult cod duplicat;
  • -0.1: magic numbers, nu constante simbolice;
  • -0.1: tab-uri amestecate cu spații pentru indentare;
  • -0.1: mixed line endings;
  • -0.1: trailing whitespace; nu lăsați spații sau tab-uri la finalul liniilor;
  • -0.1: funcții kilometrice (> 150 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: comentarii inadecvate; recomandăm parcurgerea sumară a fișierului 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.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.1: nu sunt întoarse coduri de eroare relevante;
  • -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.2: memory leaks;
  • -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.

Folosire:

/usr/src/linux/scripts/checkpatch.pl --no-tree -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.

so2/teme/general.1431020475.txt.gz · Last modified: 2015/05/07 20:41 by irina.presa
CC Attribution-Share Alike 3.0 Unported
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0