Кіріспе
Shotgun жөндеуді былай анықтауға болады: қателік жойылады деген үмітпен бағдарламалық жасақтамаға бағытталмаған өзгерістер енгізу процесі. Аппараттық немесе бағдарламалық қамтамасыз ету мәселесінің бірнеше мүмкін шешімін бір уақытта сынап көру әдісі, олардың бірі (әдетте бастапқы кодты өзгерту) жұмыс істейді деген үмітте. Shotgun жөндеудің табыстылық деңгейі салыстырмалы түрде төмен және көп уақытты алады, бірақ бағдарламалау тілінің мүмкіндіктерін дұрыс пайдаланбаған жағдайда оны айналып өту үшін қолдануға болады. Домендік тәжірибемен және негізгі код базасына деген мызғыма сезіммен үйлестірілгенде, бұл тиісті қате туралы хабарламаны ресми түрде зерттеуге кіріспес бұрын, қателі кодты бірнеше рет түзетудің жақсы бастамасы болуы мүмкін. Осылай қолданғанда, бұл әрқашан белгілі бір қате туралы хабар іздеу үшін интернетті қараудан гөрі жылдам және құнды әдіс болуы мүмкін.
A process of making relatively un directed changes to software in the hope that a bug will be perturbed out of existence. Using the approach of trying several possible solutions of hardware or software problem at the same time, in the hope that one of the solutions (typically source code modifications) will work. Shotgun debugging has a relatively low success rate and can be very time consuming, except when used as an attempt to work around programming language features that one may be using improperly. When combined with domain expertise and a strong intuition for the underlying codebase, it can be a good starting point to gut solve a buggy piece of code a few times before formally researching the corresponding error message. When used in this way, it may be a valuable technique that is faster than browsing through the Internet searching a particular error message every time.
Мысалдар
Көп тірісті қолданбалармен жұмыс істегенде, "Shotgun" әдісімен қате табу орын алуы мүмкін. Жарыс жағдайын жөндеу үшін бағдарламаға қате табу кодын қосу бір тірістің жылдамдығын екіншісіне қатысты өзгертіп, мәселенің жойылуына себеп болуы мүмкін. Бұл "Хейзенбэг" деп аталады. Көрнекі түрде мәселе шешілгендей болғанымен, бұл таза жайлылықтан туған түзету, ал тірістердің мінез-құлқына әсер ететін кез келген өзгеріс оны қайта пайда болуына әкелуі мүмкін – мысалы, басқа жоспарлаушысы бар компьютерде. Бағдарламаның кез келген бөлігіне қосылған код "жөндеудің" әсерін оңай кері қайтара алады.