සොෆ්ට්වේයාර් ඉංජිනේරුන් වැඩ කරන වේලාවේ සම්පූර්ණයෙන්ම අඩක් කොටසක් දෝෂ හඳුනාගැනීමට (debugging) වැය කරනවා. මෙය නිෂ්පාදන අඩුපාඩු නොව, මෘදුකාංග ලෝකයේ සාමාන්ය තත්ත්වයක්. නමුත් අද කාලයේ දීබග් කිරීම තවත් මට්ටමකට ගොස් ඇත – සරල console.log එකක් දමා ඉදිරියට බලා සිටීම තවත් ප්රමාණවත් නොවේ.
අධුනික පද්ධති බෙදාහරින, අසමන්විත, බහු-පට්ටම් ආකාරයෙන් නිර්මාණය වේ. මේ නිසා දෝෂයක් කේතය තුළ පමණක් නොව, ජාල ප්රතික්රියා වේගය, රේස් කොන්දitions, වින්යාස වෙනස්වීම, හෝ ත්රි-මයික්රොසර්විස් එකට එකතුවී ඇති විශේෂිත භාරකාරීත්වය තුළත් මග හැරෙයි. ඔබගේ ලැප්ටොප් එකේ පූර්ණයෙන්ම නැවත උත්පන්න වන බග් එකක්, ස්ටේජිං පරිසරයේ අතුරුදන් වී, දෙසැම්බරයක් පසු නිෂ්පාදනයේ හදිසි පරිශීලක ක්රියාවලියකින් නැවත දිස් වේ.
මෙම සංකීර්ණතාවය තේරුම් ගැනීමට, දෝෂ හඳුනාගැනීම තරඟකාරී අනුමාන ක්රියාවක් නොව, විද්යාත්මක පද්ධතියක් බවට පත්වෙයි. හේතු සකස් කර, එක් එක් අනුමානයක් පියවරෙන් පියවර අහෝසි කරමින් අවසන් එකම හේතුවට ළඟාවීමයි. අහඹු ලෙස කේතය වෙනස් කර බැලීමේ බොහෝ මිනිත්තු, පද්ධතියේ සැබෑ ක්රියාකාරකම තේරුම් ගැනීමට වඩා අඩු ප්රයෝජනයක් පමණයි.
පළමුව නැවත උත්පාදනය, පසුව නිවැරදි කිරීම යන නීතිය අත්යවශ්යයි. දෝෂය නිරන්තරයෙන් පෙනෙන පරිදි, එය සංකේතනය, පරිසරය, සිදුවූ සිද්ධි මාලාව, සහ එම වේලාවේ පද්ධතියේ තත්වය සවිස්තරයෙන් ලියවා ගන්න. ඒක තවත් නොමැති නම්, ඔබගේ විසඳුම සැබෑවටම ක්රියා කරයි කියලා ඔබට විශ්වාසයක් නොමැත. බොහෝ විට, පළමුව අසාර්ථක පරීක්ෂණයක් (failing test) ලියනවාම හොඳම ක්රමයයි – එම පරීක්ෂණය දෝෂයේ පවතින බව තහවුරු කර, එය විසඳුමෙන් පසු සාර්ථක වීමේ සාක්ෂියද ලබා දේ.
කේත පදනම විශාල නම්, බයිනරි සර්ච් (binary search) ක්රමය භාවිතා කරන්න. 2,000 පේළි දත්ත පාවිච්චි කරන පයිප්ලයිනයක් ගැන සිතන්න. මුලින්ම මධ්යම ලයිනයේ චෙක්පොයින්ට් එකක් තබා, එතැන දත්ත නිවැරදිද කියලා පරීක්ෂා කරන්න. නිවැරදි නම්, ගැටලුව දෙවන අර්ධයේ, නැත්නම් පළමු අර්ධයේ. මේ ක්රියාවලිය ගොඩක් වරක් කරාම, ඔබට ගැටළුවේ පරාසය කුඩා කරගත හැක. Git හි bisect විධානය මේකට ඉතා ප්රයෝජනවත්.
ශ්රී ලංකාවට ඇති වැදගත්කම
ශ්රී ලංකාවේ තාක්ෂණික සමාජය ඉක්මනින් වර්ධනය වෙමින් පවතී. නව පද්ධති, මයික්රොසර්විස්, සහ cloud සේවාවන් භාවිතා කරන සංවර්ධකයින්ට, නවීන දීබග් තාක්ෂණය අත්යවශ්ය වේ. නිවැරදිව දෝෂ හඳුනාගැනීමේ ක්රම භාවිතා කරන්නේ නම්, ආරම්භක ව්යාපාරයන්ගේ නිෂ්පාදන ගුණාත්මකභාවය ඉහළ යයි, පාරිභෝගික විශ්වාසය වැඩි වේ. එමෙන්ම, විශ්ව විද්යාල සිසුන්ට, structured logging සහ distributed tracing වැනි නව මෙවලම් අත්හදා බැලීම, අනාගත රැකියා අවස්ථා සඳහා සූදානම් කරයි. දෝෂ හඳුනාගැනීමේ කුසලතා වැඩිදුරටත් වර්ධනය කිරීම, ශ්රී ලංකාවේ IT ආර්ථිකයට තරඟකාරීත්වය ලබාදෙයි.
අවසන් වශයෙන්, දෝෂය පළමුව හඳුනාගැනීම, පසුව නිවැරදි කිරීමේ ක්රමවේදය, ඔබේ කේත ජීවිතය සරල කරයි. නවීන දීබග් මෙවලම් සහ ක්රමයන් භාවිතා කර, ඔබේ පද්ධතියේ සංකීර්ණත්වය නිරවද්යව පාලනය කරගන්න.