Normes de programació
Aquest post va dirigit a la gent que comença a fer els seus primers programes en un llenguatge d’alt nivell (C, C++, Java, etc.) i que, tenint clars els paradigmes de la programació imperativa (fes això, fes allò), no saben encara com fer que el codi resultant sigui entenedor per als altres programadors que ho revisin.
He recollit aquà un seguit de normes fà cils i imprescindibles que fan que el codi resultant sigui fà cil de llegir i analitzar:
- Indentació. El codi s’estructura en blocs que es disposen tabulats com un arbre. Per exemple, el cos d’una funció, d’un bucle (
while) o d’un condicional (if) ha d’anar tabulat respecte la seva capçalera. Exemple (en C):int funcio(int par) { while(condicio) { if(condicio2) instruccions; } } - Noms correctes de variables. Una variable que es digui “aux” no diu res ni del tipus ni de la utilitat del valor que conté. La variable ha de tenir un nom que indiqui quina és la seva utilitat dins del programa i les seves primeres lletres han d’indicar-ne el tipus. Exemple: un nom correcte per una variable entera que fa de comptador seria iComptador.
- Modularitat. Qualsevol programa es pot fer posant tot el codi dins de la funció principal sense fer cap funció. El problema es que queden codis llarguissims i intel·ligibles. Dividir i estructurar el codi en funcions i subfuncions fa que, a més de quedar un codi ben construït, algunes parts siguin reutilitzables i els errors siguin fà cils de trobar i arreglar.
És clar que hi ha moltes més coses que s’han de tenir en compte a l’hora de programar, però si seguiu els tres consells abans esmenats podreu ensenyar el codi a altres programadors i aquests l’entendran i podran analitzar-lo.
Tags: tecnologia
Setembre 25th, 2003 at 6:17 pm
Aquesta mena de coses s’haurien d’ensenyar a la universitat o als cicles formatius. Ã?s increible com regles tan bà siques i fonamentals com aquesta no s’esmentin a tots els centres d’ensenyament.
Tot i que practicament tothom que ha programat una mica s’haurà adonat que hi ha unes normes a seguir, estaria bé que ho expliquessin enlloc d’esperar a que la gent ho aprengui a base d’hosties.
Setembre 30th, 2003 at 8:24 pm
La identació es un tema molt personal i jo avans la feia com a l’exmple, pero en l’últim treball vaig tindre que adaptar-me a una altre que ara m’agrada més
int funcio(int par){ while(condicio){ if(condicio2) instruccions; } }També vaig agafar més idees de la Guia de Estil que utilitzavem, com posar “m” abans de variables membre i “in” abans de cada parametre de entrada d’una funció… semblaven estupits estandars peró ara els trobo utils.
A part d’aixo, estic totalment d’acord amb la resta de punts.