Eliminarea codului mort este o operație de care programatorul ar trebui să fie preocupat pentru că unele compilatoare o execută rapid și el se va mira că ceva lipsește în execuția lui.
Dacă va scrie secvența:
if(5>7) { a=13;
b=20;
c=-1;
}
else {
a=-1;
b=140;
c=12;
}
evident că secvența:
{ a=13;
b=20;
c=-1;
}
nu se va executa niciodată, deci este codul mort din program.
În secvența:
int a = 10;
int b = 15;
int c=31;
e = a * b + (c / 2 -1);
if (0) {
printf("%d\n", a);
printf("%d\n", b);
printf("%d\n", c);
printf(" a= %d\n", a);
printf(" b= %d\n", b);
printf(" c= %d\n", c);
printf(" e= %d\n", e);
}
expresia ce se evaluează la instrucțiunea if(0) duce pe ramura fals, deci acele imprimări nu vor fi executate niciodată, adică never, cum zicem noi chinezii. Dacă ar fi fost if(-1) sau if(1110003) s-ar fi tipărit, dar așa este viața când în loc de o expresie din greșeală s-a scris acolo acel nevinovat zero.
Tot ce nu se execută niciodată se numește cod mort. Se introduc din greșeală secvențe de acest fel și ele încarcă nejustificat programul, deci trebuie eliminate sau trebuie făcute corecții căci este posibil ca programatorul să fi greșit o expresie relațională și să fi ieșit altceva decât a vrut el să scrie în realitate. Eliminarea codului mort este cel mai ușor de realizat. Codul mort nu influențează execuția unui program, ci o alterează.
Dacă va scrie secvența:
if(5>7) { a=13;
b=20;
c=-1;
}
else {
a=-1;
b=140;
c=12;
}
evident că secvența:
{ a=13;
b=20;
c=-1;
}
nu se va executa niciodată, deci este codul mort din program.
În secvența:
int a = 10;
int b = 15;
int c=31;
e = a * b + (c / 2 -1);
if (0) {
printf("%d\n", a);
printf("%d\n", b);
printf("%d\n", c);
printf(" a= %d\n", a);
printf(" b= %d\n", b);
printf(" c= %d\n", c);
printf(" e= %d\n", e);
}
expresia ce se evaluează la instrucțiunea if(0) duce pe ramura fals, deci acele imprimări nu vor fi executate niciodată, adică never, cum zicem noi chinezii. Dacă ar fi fost if(-1) sau if(1110003) s-ar fi tipărit, dar așa este viața când în loc de o expresie din greșeală s-a scris acolo acel nevinovat zero.
Tot ce nu se execută niciodată se numește cod mort. Se introduc din greșeală secvențe de acest fel și ele încarcă nejustificat programul, deci trebuie eliminate sau trebuie făcute corecții căci este posibil ca programatorul să fi greșit o expresie relațională și să fi ieșit altceva decât a vrut el să scrie în realitate. Eliminarea codului mort este cel mai ușor de realizat. Codul mort nu influențează execuția unui program, ci o alterează.
(023 decembrie 2017)
în lucru acum
No comments:
Post a Comment