Sunteți pe pagina 1din 3

STILDEPROGRAMARE

Stiluldeprogramaresedefinestecaunsetdereguliutlizatinscriereacoduluisursapentru
programedecalculator,avanddreptscopfacilitareacitiriisiintelegeriirapideaacestuiadecatretoti
dezvoltatorii.Acestarticolseadreseazainprincipalcelorcarenusiaudefinitpanainacestmomentun
stilbundeprogramare,dartotodatasiceiexperimentatiarputeagasicatevalucruriinteresantesi
folositoare.

InurmatoarelecatevarandurivorfiprezentateprincipaleleelementedestilpropusedeLinus
Torvalds,creatorulkerneluluilinux,sitotodatacelcareconduceinprezentechipadedezvoltarea
acestuia.

1. INDENTARESISPATIERE

indentareaseutilizeazapentruadefiniinmodclarundeincepeunblocdecontrolsiunde
seincheie
pentru a realiza indentarea codului se recomanda folosirea taburilor si nu a spatiilor
(marimearecomandatapentrutabeste4)
puneticateunspatiudupafiecarevariabila,operator,paranteza.Codultrebuiesafiecatse
poatedeAERISIT.

Urmariticuatentieexemplul:

intpower(inta,intb)
{
intc=1;
while(b>0){
c=c*a;
b=b1;
}

returnc;
}

2.AMPLASAREAACOLADELOR

stilulrecomandatinaceastaprivintaesteamplasareaacoladeideschiseultima,peliniecu
instructiuneacatrecarefacereferinta,iaracoladainchisavafiplasatapelinieseparatadupa
cumseobservainexempluldemaijos.
if ( x is true ) {
we do y
}

Existasioexceptiedelaregulademaisusincazuldefiniriifunctiilor.Acoladadeschisava
fiplasatalainceputullinieiurmatoareconformexempluluidemaijos.
int count( int x )
{
body of function
}

Atentie!Acoladainchisavafisingurapeliniecuexceptiacazurilorcandesteurmatade
continuareaaceleiasideclaratii.Urmaritiexempluldemaijos!
do {

body of do-loop
} while (condition);

SAU
if (x == y) {
..
} else if (x > y) {
...
} else {
....
}

3. STABILIREANUMELOR

Un programator C nu va da nume frumoase variabilelor cum ar fi


ThisVariableIsATemporaryCounter,ovadenumipursisimplutmp.
Variabileleglobale(vorfifolositedoardacasuntabsolutnecesare)trebuiesaaibaunnume
descriptiv,precumsifunctiileglobale.Deexemplu,dacaofunctienumarautilizatoriiactivi
eavatrebuidenumitacount_active_users()siNUcntusr().
Numelevariabilelorlocaletrebuiesafiescurtsilaobiect.Deexempluuncontordecicluse
vadenumisimpluisinuloop_counterpentrucaestefoarteneproductiv.

4.FUNCTII

functiiletrebuiesafiescurtesisafacaunsingurlucru.Marimeauneifunctiinutrebuiesa
depaseascaunulsaudouaecrane(ISO/ANSImarimeecran80x24).
lungimea unei functii trebuie sa fie invers proportionala cu nivelul de indentare si
complexitateaacesteia.AstfeldacaavemofunctiealcatuitadintrunCASEfoartemarein
interiorulcaruiasefacoperatiisimpleatunciesteinregulasaavemofunctiemailunga.
Unaltaspectcaretrebuieavutinvedereincazulfunctiilorestenumaruldevariabilelocale.
Daca acesta este mai mare de 510 atunci functia in discutie trebuie reorganizata si
impartitiainbucatimaimici.

5.COMENTARII
Comentariile sunt un lucru bun, dar exista riscul unei supracomentari. Niciodata nu
incercatisaexplicaticumfunctioneazacodul;dacacodulestescrisclaratunciacestlucurva
fievident.
In generalcomentariile descriu cefaceuncod,sinucum face acel lucru. Incercati de
asemeneasaevitatiamplasareacomentariilorininteriorulfunctiilor.Dacafunctiaesteatat
decomplexaincattrebuiesacomentatipartialeei,atuncimaicititidecatevaoripunctul4.
In interiorul functiilor se pot face mici comentarii pentru a clarifica anumite lucruri
speciale,dartotusinutrebuieexageratinaceastaprivinta.Puneticomentariilainceputul
functiiloroferinddetaliicuprivirelacefacesidacaestecazuldecefaceacelelucruri.

Documentatiecompleta:
http://lxr.linux.no/linux/Documentation/CodingStyle

VladBerteanu2008
ProgramareaCalculatoarelorseriaCC

S-ar putea să vă placă și