Căutam ieri ceva prin vechea bibliotecă și am dat peste o carte veche de vreo 17 ani, traducere după alta, veche de 30 de ani, “Legile lui Murphy” de Arthur Block. Genul de chestie citită de obicei pe maxi-taxi între Fălticeni și Iași.
Un capitol mi-a atras atenția în mod special, fiind referitor la programare. Ca să nu rămână doar un text într-o carte veche, am decis să readuc în prim plan legile lui Murphy despre programare din ‘77.
Învechite, depășite, dar totuși interesante și câteodată încă valabile. Cele cu bold sunt preferatele mele.
- Legile programării calculatoarelor
1. Orice program, atunci când ajunge să fie rulat, este deja învechit.
2. Orice program costă mai mult și necesită un timp de rulare mai mare.
3. Dacă un program este folositor, atunci el va trebui schimbat.
4. Dacă un program este nefolositor, el trebuie susținut.
5. Orice program dat se va extinde astfel încât va ocupa toată memoria disponibilă.
6. Valoarea unui program este direct proporțională cu valoarea datelor de ieșire.
7. Complexitatea programului crește până în momentul în care depășește capacitatea programatorului, care trebuie astfel să o mențină la nivelul capacității sale.
- Postulatele programării ale lui Trautman
1. Dacă programul test va funcționa perfect, toate rulările anterioare vor funcționa defectuos.
2. Numai după ce un program a fost rulat în producție 6 luni, se va descoperi în el o eroare fundamentală.
3. Cartelele de comandă, care în mod normal nu pot fi dispuse greșit, vor fi.
4. Benzile considerate interschimbabile nu vor fi astfel.
5. Dacă editorul de intrări a fost astfel proiectat încât să nu lase să intre nimic greșit, se va găsi imediat un idiot ingenios care va descoperi o metodă de a introduce date greșite.
6. Limbajul obișnuit este singurul pe care toți programatorii îl cunosc cel mai bine.
- Constanta lui Skinner (factorul Flannagan Finagling)
Este acea cantitate care, atunci când e multiplicată cu, divizată prin, adunată sau scăzută din răspunsul pe care-l capeți îți dă răspunsul pe care ar fi trebuit să-l capeți. (foarte folositoare şi des utilizată mai ales la examenele din anii mici de facultate
)
- Legile lui Gilb
1. Calculatoarele sunt nefiabile, dar oamenii sunt și mai nefiabili.
2. Orice sistem care depinde de fiabilitatea oamenilor este nefiabil.
3. Erorile nedetectabile sunt infinit de variabile în contrast cu erorile detectabile, care, prin definiție, sunt limitate.
4. Investiția în fiabilitate va crește până când se va depăși costul probabil al erorilor sau până când cineva va insista să se facă o treabă mai folositoare.
- Legea lui Brook
Solicitarea de ajutoare la un proiect software întârziat îl va întârzia și mai mult.
- Legile lui Golub
1. Formulați obiectivele de proiectare vagi pentru a evita dificultatea estimării costurilor.
2. Un proiect executat neîngrijit necesită de trei ori mai mult timp decât se estimează inițial; un proiect executat minuțios necesită numai de două ori mai mult timp.
3. Efortul cerut pentru o desfășurare corectă crește în progresie geometrică cu timpul.
4. Echipele de proiectare detestă raportările săptămânale deoarece acestea dau la iveală tocmai lipsa oricărui progres.
- Principiul lui Shaw
Construiți un sistem pe care îl poate utiliza chiar și un prost și numai proștii vor dori să-l utilizeze.
Din “Legea lui Murphy” de Arthur Block, Editura Tehnică, 1991.

Post a Comment