Այո, ամենահայտնի վաղ «համակարգչային բագերից» մեկը իրական միջատ էր։
1947-ին Harvard Mark II-ի վրա աշխատող ինժեներները խափանում գրանցեցին, որի պատճառը ռելեի մեջ խրված ցեցն էր։ Նրանք այն կպցրեցին մատյանում և նշեցին, որ սարքը “debugged” է։
Պատմությունը հիշվող է, բայց դրա արժեքը միայն հումորը չէ։ Իրական արժեքը մտածելակերպն է՝ տեսնել խնդիրը, գտնել պատճառը, փաստագրել և շտկել համակարգը։
Առասպել vs իրականություն (կարևոր տարբերակում)
«Bug» բառը ինժեներական միջավայրում օգտագործվում էր դեռ մինչև համակարգիչները։ Այսինքն՝ սա բառի առաջին կիրառումը չէր։
Այս դեպքը հայտնի դարձավ, որովհետև այն դարձավ հաշվարկային տեխնիկայի պատմության մեջ բառացի «բագի» ամենահայտնի փաստագրված օրինակը և ամրապնդեց debugging-ի մշակույթը։
Ինչու այս պատմությունը հիմա էլ կարևոր է
Այսօրվա բագերը սովորաբար ցեց չեն ռելեում։ Դրանք ավելի հաճախ լինում են՝
- սխալ ենթադրություններ
- բաց թողնված edge case-եր
- race condition-ներ
- ինտեգրման խնդիրներ
- միջավայրերի անհամապատասխանություն
- փոքր փոփոխություններ՝ մեծ հետևանքներով
Բայց debugging-ի հիմքերը նույնն են մնում․
- Մի խուճապահարվեք։ Բագը ազդանշան է, ոչ թե ձեր արժեքի գնահատականը։
- Վերարտադրեք խնդիրը։ Եթե չեք կարող կրկնել, fix-ին չեք կարող վստահել։
- Ստուգեք համակարգը, ոչ միայն ախտանիշը։ Տեսանելի սխալը հաճախ իրական պատճառը չէ։
- Փաստագրեք՝ ինչ սովորեցիք։ Այսօրվա գրառումը վաղվա խնայված ժամերն են։
Թաքնված դասը․ debugging-ը մտածելակերպ է
Debugging-ը միայն ծրագրավորման հմտություն չէ։ Դա խնդիր լուծելու կարգապահություն է՝
- փաստերն առանձնացնել ենթադրություններից
- մեկ փոփոխական ստուգել մեկ անգամում
- էգոյով չկռվել իրականության հետ
- բարելավել գործընթացը, ոչ միայն արդյունքը
Ահա թե ինչու ուժեղ ծրագրավորողները հաճախ հանգիստ են ճնշման տակ։ Նրանք պարզապես սովորել են նախ հետաքննել, հետո արձագանքել։
Ինչ կարող են թիմերը վերցնել այս պատմությունից
- Հստակ գրանցեք միջադեպերը։ Անորոշ նկարագրությունները ժամեր են վատնում։
- Սովորականացրեք սխալները։ Ամոթը թաքցնում է բագերը, պարզությունը՝ գտնում։
- Ստեղծեք feedback loop-եր։ Log-եր, test-եր, monitoring, review-ներ՝ կրկնվող սխալները նվազեցնելու համար։
- Լուրջ ընդունեք փոքր անոմալիաները։ Փոքր խնդիրը կարող է ցույց տալ մեծ համակարգային թուլություն։
Եզրակացություն․ «Առաջին համակարգչային բագի» պատմությունը հետաքրքիր է, որովհետև բառացի է։ Այն արժեքավոր է, որովհետև հիշեցնում է՝ տեխնոլոգիական առաջընթացը մինչ հիմա էլ կառուցվում է համբերատար դիտարկման, կարգապահ փորձարկման և ազնիվ փաստագրման վրա։