Milyen az áttekinthető forráskód?

Ha programozunk, akkor célszerű a forráskódot jól áttekinthetőre csinálni. A következőkben mutatok néhány jó ötletet, amivel áttekinthetővé lehet tenni egy forráskódot. Lehet, hogy néhány magától értetődő:

Bekezdés:

A nyitó és záró kapcsos zárójelek között lévő részeket érdemes egy tabbal bentebb kezdeni:

void main()

{

clrscr();

for (i=0;i<10;i++)

{

printf("%d:",i);

scanf("%d",&(Elemek[i]));

}

QuickSorter(0,9,Elemek);

for (i=0;i<10;i++)

{

printf("%d,",Elemek[i]);

}

getch();

}

Pascalban ez vonatkozik a BEGIN-re és az END-re:

function RecTangleArea(x1,y1,x2,y2,x3,y3,x4,y4:longint):boolean;
begin

if x2<x1 then

Csere(x2,x1);

if x4<x3 then

Csere(x3,x4);

if x3<x1 then

Csere(x3,x1);

if x4<x2 then

Csere(x4,x2);

if y2<y1 then

Csere(y2,y1);

if y4<y3 then

Csere(y3,y4);

if y3<y1 then

Csere(y3,y1);

if y4<y2 then

Csere(y4,y2);

RectangleArea:=((x2-x1)+(x4-x3)>(x4-x1)) and ((y2-y1)+(y4-y3)>(y4-y1))

end;

Ugyanez van akkor, ha egyutasításos ciklusmagja van egy ciklusnak, vagy IF-nek.

Pascalban használjunk bekezdést a VAR, TYPE és LABEL soroknál is.

Egy sor - egy utasítás:

Próbáljuk egy sorba csak egy utasítást írni.

Háromsoros komment:

Az alprogramokat válasszuk el egymástól háromsoros kommenttel, amiben rövid leírás van az adott alprogramról. Nagyban növeli a forráskód áttekinthetőségét. Ha a színe szürkére van állítva, akkor jól látható elválasztóként is szolgál.

Pascal:

{----------------------------------------------------------------------------}
{ Lefelé kerekítő függvény                                                   }
{----------------------------------------------------------------------------}
function Uround(x:real):longint;
   var
      s:longint;
begin
   s:=Trunc(x);
   if (x<0) and not (x=Trunc(x)) then Dec(s);
   Uround:=s;
end;

C/C++:

  //-----------------//
 // Rajzoló eljárás //
//-----------------//
void Rajzolas() // MainPaint
{
   HDC hdc;
   hdc=GetDC(FoAblak);
   glLoadIdentity();
   glMatrixMode(GL_PROJECTION);
   glOrtho(0,ResX,ResY,0,0,10000);
   glClear(GL_COLOR_BUFFER_BIT);
   U.Megjelenit();
   glColor4f(1.0,1.0,1.0,Alfa.Alfa());
   KepernyoRajzolas();
   SwapBuffers(hdc);
   ReleaseDC(FoAblak,hdc);
}

Konstansok deklarálása:

Érdemes minden állandó értékre létrehozni egy konstanst. Pl.: csillagok száma, max hossz, stb. Így ha módosítani akarjuk a számot valami oknál fogva, akkor elég lesz csak a konstanst átírni:

Pascal:

const
   ProfilCount=8;

C/C++:

Használjunk define-t a const helyett.

#define FPS 60

 

Egyenlőre ennyi jutott eszembe. Remélhetőleg folyamatosan bővülni fog a lista.