Marfijevi zakoni – programiranje
Marfijevi zakoni kod programiranja (TechFokus edicija)
Kad kod nije kriv, ali se ipak sruši tvoj svet…
1. Kada bi građevinci pravili zgrade kao što programeri pišu kod…
…prvi djetlić koji naiđe, srušio bi celokupnu civilizaciju (i Git repozitorijum uz to).
2. Logika:
Sistematski način da sa maksimalnim samopouzdanjem dođeš do potpuno pogrešnog zaključka – ali bar u 4K rezoluciji.
3. Definiši sistem i gledaj kako…
…se pojavi neki genijalac koji:
a) pronađe način da ga sruši,
b) proširi ga toliko da više niko ne zna čemu služi – uključujući i njega.
4. Tehnologijom upravljaju…
…oni koji nemaju pojma kako funkcioniše, ali znaju gde da kliknu kad ne radi.
5. Stručnjak je osoba koja zna sve više o sve manjem…
…dok ne dođe do tačke gde sve zna – ali o ničemu.
6. Najveća otkrića u IT-ju?
Desila su se potpuno slučajno.
(Prepoznaćeš ih po uzviku: „Šta sam ovo upravo uradio?!“)
7. Sastanak:
Događaj u kojem se štede minuti posla, a gube sati života. (Bonus nivo: „follow-up“ sastanak.)
8. Greška se neće pojaviti…
…dok tvoj program ne prođe QA, ode u produkciju, i klijent to objavi na bilbordu.
9. Računari su nepouzdani. Ljudi još gori.
Sistem koji zavisi od čoveka je kao API bez dokumentacije – pun iznenađenja, nijedno prijatno.
10. Nikada se ništa ne uradi:
Na vreme.
U budžetu.
Bez “quick fix-a” koji traje tri meseca.
11. Ako nije u računaru…
…onda to nikad nije ni postojalo. (Posebno ako nije na Google Drive-u.)
12. Ako eksperiment uspe…
…nešto ozbiljno nije u redu. Pošalji bug report samom sebi.
13. Kad sve propadne:
Pročitaj uputstva. (Ili pitaj kolegu koji je već dao otkaz.)
14. Nikad nema vremena da se nešto uradi kako treba…
…ali uvek ima vremena da se ispravi 12 puta, svaki put na drugačiji način.
15. Ako napraviš uređaj koji i budala može koristiti…
…pripremi se da će samo budale želeti da ga koriste.
Zaključak: Ako vam kod radi iz prve – verovatno testirate pogrešan fajl.
Mali dodatak
Marfijevi Zakoni Kod Programiranja: Digitalna Komedija Zabune
Dobrodošli u svet gde je Ctrl+S religija, gde je kafa osnovna pogonska jedinica, a dokumentacija mitsko biće o kojem se priča ali ga retko ko viđa. Da, pričamo o programiranju! A gde je programiranje, tu su, naravno, i naši verni pratioci – Marfijevi zakoni, prilagođeni za digitalno doba. Ako ste ikada napisali liniju koda, verovatno ste se sa ovim istinama susreli češće nego sa besplatnim parkingom u centru. Pa, da se nasmejemo zajedno našoj IT muci:
Zakon Građevinske Stabilnosti Koda:
- Originalni Marfi (otprilike): „Kada bi građevinari gradili zgrade onako kao što programeri pišu programe, tada bi prvi detlić koji naiđe uništio civilizaciju!“
- TechFokus Remix: Realno, da programeri zidaju, zgrade bi imale „feature, not a bug“ potporne stubove, a umesto temelja stajao bi komentar
// TODO: Fix later. Prvi dašak košave izazvao bisegmentation faultčitavog naselja, a pomenuti detlić bi bio ekvivalent senior developera na code review-u – uvek nađe nešto da kljucne!
Zakon Logičkog Skretanja s Pravog Puta:
- Originalni Marfi: „Logika je sistematski način kako samouvereno doći do krivog zaključka!“
- TechFokus Remix: Logika u programiranju: onaj nepokolebljivi osećaj da si Apsolutno U Pravu™, sve dok ne pritisneš F5 (ili
git push --force). To je kao da kreneš u Jagodinu preko Tokija, ali sa GPS-om koji te uverava da je to najkraći i najlogičniji put, jer „algoritam ne greši, čoveče!“
Zakon Korisničke Kreativnosti (ili Programerskog Dodatka):
- Originalni Marfi: „Kada se god neki sistem definiše, neka budala otkrije nešto što ili uništi sistem ili ga toliko proširi da zbog toga postane neprepoznatljiv!“
- TechFokus Remix: Ah, taj korisnik! Definišeš elegantan sistem za unos JMBG-a, a on pokuša da unese celu trilogiju „Gospodara prstenova“. Ili, još gore, kolega programer reši da doda „samo još jednu malu, neprimetnu funkciju“ koja tvoj minimalistički kod pretvori u digitalnog Frankenštajna sa krizom identiteta.
Zakon Tehnološke Dominacije Neupućenih:
- Originalni Marfi: „Tehnologijom dominiraju oni koji rade sa onime što ne razumiju!“
- TechFokus Remix: Poznata scena: menadžer koji sa entuzijazmom predlaže „blockchain za našu Excel tabelu za evidenciju kafa“ ili korisnik koji misli da je „cloud“ ona pufnasta stvar na nebu gde se čuvaju slike sa letovanja. Ali hej, dok god klikće „Approve“ na naš zahtev za novim SSD-om, ko smo mi da im kvarimo iluziju?
Zakon Stručnjaka za Ništa:
- Originalni Marfi: „Stručnjak je onaj koji zna sve više i više o sve manjem i manjem dok ne sazna sve o ničemu!“
- TechFokus Remix: Ja, nakon 15 godina optimizacije jedne jedine CSS klase koja centrira div element. Pitajte me bilo šta o kvantno-relativističkim implikacijama
margin: auto;– tu sam doktorirao! Za ostalo… pa, postoji Stack Overflow.
Zakon Slučajnih Genijalnosti (iliti „Feature by Bug“):
- Originalni Marfi: „Velika otkrića dogodila su se greškom!“
- TechFokus Remix: Penicilin, Post-It stikeri, i onaj bag koji je slučajno postao najpopularnija fora u tvojoj aplikaciji. „‘Nije greška, to je… neočekivana, inovativna funkcionalnost!’ – rečenica koja je spasila više programerskih karijera nego
Ctrl+Z.“
Zakon Sastančenja i Vremenske Relativnosti:
- Originalni Marfi: „Sastanak je događaj u kojemu se štede minute a gube sati!“
- TechFokus Remix: Poziv na sastanak: „Samo da na brzinu prođemo kroz ovo, 5 minuta, nećemo duže.“ Dva sata, tri kafe i pet energetskih pića kasnije: još uvek se raspravlja o boji dugmeta na landing stranici i da li logo treba da bude „malo više pop“. Izgubljeno vreme koje se moglo iskoristiti za gledanje tutorijala o novom frameworku. Ili, ne daj bože, za samo programiranje.
Zakon Poslednjeg Trenutka (ili „Petak Popodne Efekat“):
- Originalni Marfi: „Greška se neće pokazati sve dok jedinica ne prođe završnu kontrolu!“
- TechFokus Remix: Kod je prošao sve testove. Lokalno radi savršeno kao švajcarski sat. Na staging serveru briljira.
Deployna produkciju… i BUM! Sajt prikazuje samo ASCII art mačiće i povremeno recepte za rusku salatu. Naravno, petak je, 16:59h, a ti si već jednom nogom na vikendu.
Zakon Ljudskog Faktora (poznat i kao PEBKAC):
- Originalni Marfi: „Računari su nepouzdani, ali je čovjek još nepouzdaniji. Svaki sistem koji zavisi od čovekove pouzdanosti je nepouzdan!“
- TechFokus Remix: Kompjuter kaže:
Error in line 473: Unexpected token '}'. Programer kaže: „Ma, to je nemoguće, proverio sam sto puta!“ Tri sata kasnije, programer tiho šapuće izvinjenja sopstvenoj logici iz reda 473, gde je umesto zareza stavio tačku-zarez. Najveći „dependency hell“ nije unode_modules, nego između tastature i stolice.
Zakon Projektnog Trougla (Vreme-Budžet-Kvalitet):
- Originalni Marfi: „Ništa se ne napravi na vreme i u granicama budžeta!“
- TechFokus Remix: Originalna procena: „Ma, ovo je par dana posla, budžet taman za espreso i kiselu za ceo tim.“ Realnost: šest meseci kasnije, budžet probijen kao da smo gradili privatni data centar na Mesecu, a klijent pita „Jel’ može samo još ova mala izmena, neće to dugo?“
Zakon Digitalnog (Ne)Postojanja:
- Originalni Marfi: „Ako nije u računaru, onda to ne postoji!“
- TechFokus Remix: Tvoja genijalna ideja za sledeći Unikorn startap zapisana na poleđini fiskalnog računa iz Maksija? Srećno s tim. Ako nije
commit-ovano na Git, bekapovano na tri cloud servisa (od kojih jedan nije ruski), i za svaki slučaj odštampano i laminirano, za univerzum programiranja to je samo trač na kafenisanju.
Zakon Prvog Uspešnog Pokretanja (i Sumnje Koja Ga Prati):
- Originalni Marfi: „Ako neki eksperiment uspije, onda nešto nije u redu!“
- TechFokus Remix: Kod se kompajlira iz prve. Svi testovi prolaze kao podmazani. Aplikacija radi bez ijedne greške, čak i na Internet Exploreru 6 (hipotetički, naravno). ČEKAJ! ŠTA NIJE U REDU?! Gde je ona slatka muka, sati provedeni u
console.log()i znojenje nad dokumentacijom? Ovo je previše sumnjivo. Verovatno sam zaboravio da uključim server. Ili je ovo samo san.
Zakon Čitanja Uputstava (Poslednje Utočište Očajnika):
- Originalni Marfi: „Kada sve propadne, pročitajte uputstva!“
- TechFokus Remix: Nakon što si probao sve: restart računara, restart rutera, psovanje monitora na tri svetska jezika, ritualno prinošenje stare diskete drevnim IT bogovima… tek onda, kao poslednji čin digitalnog očajnika, otvaraš
README.txtili, ne daj bože, zvaničnu dokumentaciju. I naravno, rešenje je bilo u prvoj rečenici odeljka „Često postavljana pitanja“.
Zakon Vremena za Ispravke (i Vremena za Ponovnu Izradu):
- Originalni Marfi: „Nikad nema vremena da se nešto napravi kako valja, ali uvek ima vremena da se to učini ponovo!“
- TechFokus Remix: Menadžer: „Brzo, brzo, samo da ovo izbacimo, peglaćemo posle!“ Tri nedelje kasnije, isti menadžer: „Zašto ovo čudo pada svakih 5 minuta i generiše više grešaka nego prosečan političar obećanja? Ajmo sve iz početka, ali ovog puta sa više kafe, manje optimizma i duplo dužim rokom (koji ćemo opet probiti).“
Zakon Intuitivnog Dizajna za Sve (i Nikoga):
- Originalni Marfi: „Napravi uređaj koji i budala može koristiti, pa će ga samo budala i htjeti koristiti.“
- TechFokus Remix: Naš novi UI je toliko intuitivan, sa velikim šarenim dugmićima, da ne zahteva apsolutno nikakvo prethodno znanje! Korisnici ga obožavaju… uglavnom za proveru vremenske prognoze i gledanje slika mačića. Za bilo šta kompleksnije, i dalje koriste dobri, stari
command-line, jer, citiramo, „ko još veruje softveru koji nema bar 50 opcija u padajućem meniju?“
I tako, dragi naši IT saborci, dok se borite sa bagovima, rokovima i klijentima koji žele „nešto kao Fejsbuk, ali za manje para“, setite se ovih zakona. Možda vam neće rešiti probleme, ali će vam bar izmamiti osmeh. A to je, ponekad, jedini patch koji nam treba.
Imate li vi neki svoj omiljeni Marfijev IT zakon? Podelite ga u komentarima!

