22 mai 2009

A Programer Motto

mi-am amintit de "the best programmer motto":

daca o programa lucreaza la prima compilare la sigur undeva este vre-o gresala

Daca aveti un prieten programator si dorinti un pic de has si veselie, puneti undeva pe la mijloc unui cod de cateva mii de randuri o impartire la zero. Garantat multe fwords pentru cateva ore :)

Exemplu.
in loc de: DomIntRateMid[t] = (DomIntRateBor[t] + DomIntRateDep[t]) / 2.0;
punem: DomIntRateMid[t] = (DomIntRateBor[t] + DomIntRateDep[t]) / 2/0;

3 comentarii:

  1. Asta da - padlianka regala :)))

    RăspundețiȘtergere
  2. Aceasta modificare va fi depistata de compilator, sau va genera o exceptie in timpul executiei (depinde de limbaj).

    Gasirea erorii cu ajutorul unui debugger va fi triviala, deoarece eroarea duce la intreruperea functionarii programului (deci este evident ca undeva e o eroare).

    Daca vrei sa te distrezi cu adevarat, trebuie sa faci asa o schimbare, care va permite programului sa functioneze in continuare, dar care va afecta intr-un mod subtil rezultatele. O astfel de eroare nu va fi gasita usor; cel putin din motivul ca nimeni nu stie ca eroarea este in cod.

    Chiar in exemplul tau, in loc de "2.0" pune "-2.0" sau "2.01", sau '-' in loc de '+'. In dependenta de ce face programul, schimbarea se va manifesta mult mai zmeuriu.

    RăspundețiȘtergere
  3. Alex,

    compilatorul n-o lua, adica se compila proga.
    Ei, dar sfaturi de a "zavali" o proga sunt multe ;) asta-i drept.

    RăspundețiȘtergere