Како побољшати своје вештине за отклањање грешака

Сви ми напишемо код који се у неком тренутку покида. То је део процеса развоја. Када наиђете на грешку, можете осећати да не знате шта да радите. Међутим, чак и најискуснији програмери уводе грешке и грешке које крше њихов код. Ипак смо људи.

Важно је научити из ових грешака и избегавати њихово понављање развијањем техника за побољшање вештина програмирања и отклањања грешака. Грешке су првенствено логичке или синтаксичке. Неки од њих се манифестују изузецима или падовима, док се други могу посматрати само када се користи софтвер.

Ево неколико грешака које програмери праве

Неуспех у пријављивање порука

Један од најнекориснијих сценарија на који можете налетети је када вам се програм сруши и нема порука о грешкама које указују на то шта је пошло по злу. Први корак је утврђивање да ли се програм руши при покретању или током извођења. То можете постићи штампањем једноставне поруке дневника на терминалу на почетку кода.

Ако не видите своју евиденцију, ваш програм се највероватније руши током учитавања и то је можда проблем у вези са зависношћу или верзијом.

Ако видите своју поруку, треба да се сузите до опште близине пада. Најбољи начин је да стратешки поставите неке поруке дневника у свој програм, у зависности од тога колико информација имате о путањи извршења до тренутка када се сруши. Затим, све што треба да урадите је да видите које се поруке штампају.

Неуспешно читање порука о грешкама

Поруке о изузецима на предњем делу обично се приказују на корисничком интерфејсу или на конзоли за програмере. Понекад су ове поруке видљиве у позадини путем терминала или путем датотека дневника. Без обзира где се ове грешке јављају, нови програмери их се плаше и не одузимају време да их прочитају.

Ово је први разлог зашто многим програмерима отклањање грешака траје дуже. Прво што треба да урадите је да одвојите време да прочитате поруку о грешци испред себе, пустите је да утоне и темељито је обрадите.

Неуспешно читање датотека дневника система

Неки програми генеришу датотеке дневника или записују у системски дневник догађаја. У тим евиденцијама често постоје корисне информације. Чак и ако вам не каже тачно шта није у реду, можда постоји порука упозорења или грешке или чак порука о успеху која даје наговештај о томе шта се догодило пре него што се грешка догодила.

Неуспешно писање дневника праћења

Праћење прати ток вашег програма и податке. Писање порука у траговима кроз ваш програм помаже поједностављењу процеса отклањања грешака. Дневници праћења су једноставан начин за праћење извршења програма током читавог времена извршавања апликације.

Неуспех да направи додатне промене, изгради их и тестирај

Многи програмери напишу велике делове кода пре него што га направе и тестирају. Време за проналажење грешака расте пропорционално количини кода који је промењен. Треба да се потрудите да направите инкременталне промене, да их правите и тестирате што је чешће могуће. Ово ће осигурати да не дођете у ситуацију да је написано пуно кода пре него што откријете да ваш програм не ради.

Често ћу чак и преправити свој код да поједноставим оно што сам написао.

Није успело писање аутоматизације теста

Јединствени тестови и аутоматизација тестова с краја на крај омогућавају вам да ухватите потенцијалне грешке како се догоде. Један од разлога зашто се постојећи код прекида је тај што програмери преправљају свој код када имају ниску покривеност тестом, што значи да се све промене не тестирају аутоматски.

Неуспех употребе методе елиминације

Ако не можете да идентификујете основни узрок проблема, морате да користите метод уклањања. Можете коментарисати нове блокове кода да бисте видели да ли ће грешке престати. Уклањање блокова кода помоћи ће вам да се приближите дијагнози проблема.

Можете формирати одређену хипотезу и покушати је доказати или оповргнути. Много пута вас једноставна претпоставка може спречити да пронађете грешке.

Копирање и лепљење из СтацкОверфлов-а

Често програмери копирају и налепе код из преливања стека, не разумејући шта он ради. Ово има толико штетних ефеката. Прво, важно је да обратите пажњу на оно што улази у вашу апликацију.

Чешће него што бих желео, када напишем питање на СтацкОверфлов-у и размишљам о томе како да га ефикасно артикулишем, на крају одговарам на своје питање!

Слично томе, понекад када разговарам са другим члановима тима, на крају одговорим на своје питање. То се догађа јер вас приморава да размислите о свом решењу.

Неуспех да поново реше свој проблем

Једна од најуспешнијих техника отклањања грешака коју сам пронашао је да покушавам да прођем кроз ваше решење изнова и изнова, а у неким случајевима покушавам поново да имплементирам одређене функције од нуле. То вас приморава да проналазите потенцијалне проблеме поновним стварањем ваше примене.

Неуспешно враћање

Ако можете да изолујете симптоме на одређено подручје, можете почети да ходате низом позива да бисте верификовали све променљиве и очекиване вредности. То вас може брзо довести до откривања делова програма у којима се ствари понашају неочекивано.

Неуспех да научи програм за отклањање грешака

Коначно, једина најбоља инвестиција коју можете учинити у себи је да научите да користите програм за отклањање грешака. Сви ИДЕ долазе са моћним програмима за отклањање грешака. Они следе исте основне концепте. Омогућавају вам да програмски зауставите извршавање ваше апликације, било на почетку, било у одређеном делу тока програма.

Постоји такође мноштво алата за отклањање грешака који могу помоћи у овом процесу.

Ако је овај чланак био користан, ??? и Пратите ме на Твиттер-у.

ГитХуб проширења за повећање продуктивности

Ево ГитХуб проширења која користим. Омогућиће вам побољшање продуктивности на ГитХуб-у. Молимо вас поделите свој… медиум.фреецодецамп.орг