د برنامه کولو په زړه پورې کائنات کې ، داسې اصطالح شتون لري چې کولی شي هر پرمخ وړونکي ته ارام ورکړي: بګ. په کوډ کې دا کوچنۍ تېروتنې یا نیمګړتیاوې کولی شي په ریښتیني خوبونو بدل شي که چیرې دوی په وخت کشف او حل نشي. په دې مقاله کې، موږ تاسو ته بلنه درکوو چې خپل ځان د کیګونو په زړه پورې نړۍ کې ډوب کړئ، دا معلومه کړئ چې دوی څه دي، دوی څنګه پیدا کیږي او د دوی سره د معاملو لپاره غوره تمرینونه. د ننګونو او زده کړو څخه ډک ساہسک پیل کولو لپاره چمتو اوسئ چې تاسو سره به د ریښتیني بګ ښکار کیدو کې مرسته وکړي.
بګ څه شی دی؟
بګ، د سافټویر پراختیا په شرایطو کې، په یو پروګرام یا سیسټم کې غلطی، ناکامۍ یا نیمګړتیا ته اشاره کوي چې د غیر متوقع یا غلط چلند لامل کیږي. دا تېروتنې کولی شي په مختلفو لارو ځان ښکاره کړي، د کوچنیو بصری ګډوډۍ څخه د اپلیکیشن کریشونو بشپړولو پورې. کیګونه د پراختیا په بهیر کې ناگزیر دي، مګر مهمه خبره دا ده چې پوه شئ چې څنګه دوی وپیژني او په اغیزمنه توګه یې حل کړي.
د کیګونو اصل
کیګونه د مختلفو دلیلونو لپاره رامینځته کیدی شي، په شمول:
-
- د پروګرام کولو تېروتنې: پراختیا کونکي انسانان دي او لکه څنګه چې کوډ لیکلو کې غلطي کولی شي. له ساده ټایپو څخه تر ناسم منطق پورې، دا تېروتنې د تېروتنې لامل کېږي.
-
- په اړتیاو کې بدلونونه: لکه څنګه چې پروژه پرمختګ کوي، اړتیاوې کیدای شي بدلون ومومي، کوم چې کولی شي په موجوده کوډ کې د ګډوډۍ لامل شي او د کیګونو لامل شي.
-
- غیر متوقع تعامل: کله چې د سیسټم بیلابیل برخې یا ماډلونه یو له بل سره تعامل کوي، غیر متوقع چلندونه رامینځته کیدی شي چې د ډیزاین پرمهال په پام کې نه و نیول شوي.
-
- د اعدام چاپیریال: کیګونه د چلولو وخت چاپیریال کې د توپیرونو له امله هم څرګند کیدی شي ، لکه د براوزر مختلف نسخې ، عملیاتي سیسټمونه ، یا هارډویر تشکیلات.
د بګونو ډولونه
کیګونه د دوی اغیزې او شدت پورې اړه لري په مختلفو کټګوریو ویشل کیدی شي:
-
- مهمې ستونزې: دا هغه څه دي چې د سیسټم اساسي فعالیت مخه نیسي او سمدستي حل ته اړتیا لري.
-
- مهمې ستونزې: دوی د سافټویر فعالیت د پام وړ اغیزه کوي، مګر په بشپړه توګه د هغې کارول بند نه کوي.
-
- وړې ستونزې: دا هغه تېروتنې دي چې په جدي توګه د سیسټم په عملیاتو اغیزه نه کوي، مګر کولی شي د خپګان یا غیر متوقع پایلو لامل شي.
-
- کاسمیټیک کیچونه: دوی بصری یا ډیزاین ستونزو ته اشاره کوي چې د سافټویر فعالیت اغیزه نه کوي، مګر کولی شي د کاروونکي تجربه اغیزه وکړي.
د بګ کشف
د سافټویر په پراختیا کې د بګ موندلو لپاره مختلف تخنیکونه او وسیلې شتون لري:
-
- د واحد ازموینې: دوی په انزوا کې د کوډ هرې برخې یا واحد ازموینې باندې تمرکز کوي ترڅو د هغې سم عملیات تصدیق کړي.
-
- د ادغام ازموینې: دوی د سیسټم مختلف ماډلونو یا اجزاو ترمینځ متقابل عمل تصدیق کوي ترڅو ډاډ ترلاسه کړي چې دوی په سمه توګه یوځای کار کوي.
-
- د منلو ازموینې: دوی د پای کاروونکو ګډون سره ترسره کیږي ترڅو تصدیق کړي چې سافټویر اړتیاوې او توقعات پوره کوي.
-
- د جامد تحلیل وسیلې: دوی د نمونو یا تمرینونو په لټه کې د سرچینې کوډ تحلیل کوي چې ممکن د کیګ شتون په ګوته کړي.
-
- د ډیبګ کولو وسایل: دوی تاسو ته اجازه درکوي د کوډ ګام په ګام اجرا کړئ، متغیرات معاینه کړئ او په ریښتیني وخت کې غلطۍ کشف کړئ.
د بګ اصلاحات
یوځل چې یو بګ وپیژندل شو ، نو دا خورا مهمه ده چې دا په سیستماتیک ډول حل کړئ:
-
- بګ بیا تولید کړئ: هڅه وکړئ هغه دقیق سناریو بیا جوړه کړئ چیرې چې بګ رامینځته کیږي ترڅو د هغې لامل او چلند ښه پوه شي.
-
- معلومات راټولول: د چاپیریال په اړه توضیحات ترلاسه کړئ، کوم ګامونه اخیستل شوي، او کوم اړونده معلومات چې کولی شي په حل کې مرسته وکړي.
-
- کوډ تحلیل کړئ: د بګ پورې اړوند کوډ په بشپړه توګه بیاکتنه وکړئ، د احتمالي غلطیو یا تضادونو په لټه کې شئ.
-
- د حل لاره پلي کړئ: یوځل چې د بګ لامل وپیژندل شي ، مناسب حل رامینځته کړئ او پلي کړئ.
-
- د حل تصدیق کول: پراخه ازموینه ترسره کړئ ترڅو ډاډ ترلاسه شي چې بګ حل شوی او کومه نوې تېروتنه نه ده معرفي شوې.
د کیګونو مخنیوي لپاره ښه تمرینونه
که څه هم کیګونه ناگزیر دي، دلته ښه تمرینونه شتون لري چې کولی شي د دوی بڼه کمه کړي:
-
- ماډلر ډیزاین: دا سیسټم په خپلواکه او ښه تعریف شوي برخو ویشي ترڅو د کیګونو کشف او حل اسانه کړي.
-
- پاک کوډ: د لوستلو وړ، ښه جوړ شوی او مستند کوډ ولیکئ، د غوره پروګرام کولو تمرینونو تعقیب.
-
- د کوډ بیاکتنې: د احتمالي مسلو او پرمختګونو پیژندلو لپاره د نورو پراختیا کونکو سره منظم کوډ بیاکتنې ترسره کړئ.
-
- اتومات ازموینې: اتوماتیک ازموینې پلي کړئ چې په منظم ډول پرمخ ځي ترڅو د کیګونو دمخه کشف کړي.
-
- د نسخې کنټرول: د کوډ بدلونونو ریکارډ ساتلو لپاره د نسخې کنټرول سیسټم وکاروئ او د پراختیا کونکو ترمینځ همکارۍ اسانه کړئ.
د سافټویر پراختیا په زړه پورې کائنات کې ، کیګونه دوامداره ملګري دي چې موږ ننګوي او موږ په دوامداره توګه وده کولو ته هڅوي. د دوی پوهیدل، کشف کول، او په اغیزمنه توګه یې حل کول د هر پراختیا کونکي لپاره بنسټیز مهارت دی. په یاد ولرئ چې هر بګ په دې په زړه پوري ساحه کې د خپلو مهارتونو د زده کړې، ودې او پیاوړتیا لپاره یو فرصت دی، نو له دوی سره مخ کیدو کې مه ویره مه کوئ، ننګونې په غاړه واخلئ او د بګ ښکار په هنر کې ریښتیني ماسټر شئ.
که تاسو غواړئ چې موضوع ته حتی ژوره پوه شئ، موږ سپارښتنه کوو چې لاندې سرچینې وپلټئ:
-
- بګزیلا: د بګ د تعقیب یوه مشهوره وسیله د ډیری سافټویر پروژو لخوا کارول کیږي.
-
- سونار کیوب: د دوامداره کوډ کیفیت تفتیش پلیټ فارم چې د کیګونو پیژندلو او حل کولو کې مرسته کوي.
-
- سفر: د پروژې مدیریت او د بګ تعقیب وسیله چې په پراخه کچه د سافټویر پراختیا صنعت کې کارول کیږي.
زه Sebastián Vidal یم، د کمپیوټر انجنیر یم چې د ټیکنالوژۍ او DIY په اړه لیوالتیا لرم. سربیره پردې، زه د هغه جوړونکی یم tecnobits.com، چیرته چې زه د هرچا لپاره د ټیکنالوژۍ د لاسرسي وړ او د پوهیدو وړ کولو لپاره درسونه شریکوم.
