Как да подобрите уменията си за отстраняване на грешки

Всички ние пишем код, който се прекъсва в даден момент. Това е част от процеса на развитие. Когато срещнете грешка, може да почувствате, че не знаете какво да правите. Дори и най-опитните разработчици обаче въвеждат грешки и грешки, които нарушават техния код. Все пак сме хора.

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

Ето някои от грешките, които допускат разработчиците

Неуспех при регистриране на съобщения

Един от най-безполезните сценарии, с които можете да се сблъскате, е когато програмата ви се срине и няма съобщения за грешка, които да показват какво се е объркало. Първата стъпка е да се установи дали програмата се срива при стартиране или по време на изпълнение. Можете да постигнете това, като отпечатате просто съобщение в дневника на терминала в началото на вашия код.

Ако не виждате своето регистрационно съобщение, вашата програма най-вероятно се срива по време на зареждане и вероятно е проблем, свързан с зависимост или компилация.

Ако видите съобщението си, трябва да стесните до общата близост до катастрофата. Най-добрият начин е да поставите стратегически някои регистрационни съобщения в цялата си програма в зависимост от това колко информация имате за пътя на изпълнение по времето, когато се срине. След това всичко, което трябва да направите, е да видите кои съобщения се отпечатват.

Неуспешно четене на съобщения за грешки

Съобщенията за изключения в предния край обикновено се показват на потребителския интерфейс или конзолата за програмисти. Понякога тези съобщения се виждат в бекенда през терминала или чрез регистрационни файлове. Независимо къде се появяват тези грешки, новите разработчици се плашат от тях и не отделят време да ги прочетат.

Това е причината номер едно, поради която отстраняването на грешки отнема повече време за много разработчици. Първото нещо, което трябва да направите, е да отделите време да прочетете съобщението за грешка пред вас, да го оставите да потъне и да го обработите старателно.

Неуспешно четене на системни регистрационни файлове

Някои програми генерират регистрационни файлове или пишат в системния дневник на събитията. В тези дневници често има полезна информация. Дори и да не ви казва точно какво не е наред, може да има предупреждение или съобщение за грешка или дори съобщение за успех, предоставящо намек за случилото се преди възникването на грешката.

Неуспех при записване на дневници за проследяване

Проследяването следва вашия програмен поток и данни. Писането на съобщения за проследяване в цялата ви програма спомага за опростяване на процеса на отстраняване на грешки. Trace Logs са лесен начин за проследяване на изпълнението на програмата през цялото време на изпълнение на вашето приложение.

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

Много разработчици пишат големи парчета код, преди да го изградят и тестват. Времето за намиране на грешки се увеличава пропорционално на количеството код, който е променен. Трябва да се стремите да правите постепенни промени, да ги изграждате и да ги тествате възможно най-често. Това ще гарантира, че няма да попаднете в ситуация, в която е написан много код, преди да откриете, че вашата програма не работи.

Често дори рефакторирам кода си, за да опростя написаното от мен.

Неуспех при писане на тестова автоматизация

Единичните тестове и автоматизацията на тестовете от край до край ви позволяват да улавяте потенциални грешки при тяхното възникване. Една от причините, поради които съществуващите прекъсвания на кода е, че разработчиците рефакторират своя код, когато имат ниско тестово покритие, което означава, че всички промени не се тестват автоматично.

Неизползване на метода за елиминиране

Ако не можете да установите основната причина за проблема си, трябва да използвате метода за отстраняване. Можете да коментирате нови блокове код, за да видите дали грешките спират. Елиминирането на блокове код ще ви помогне да се доближите до диагностицирането на проблема.

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

Копиране и поставяне от StackOverflow

Често разработчиците копират и поставят код от препълване на стека, без да разбират какво прави. Това има толкова много неблагоприятни ефекти. Първо, важно е да обърнете внимание на това, което влиза във вашето приложение.

По-често, отколкото бих искал, когато пиша въпрос в StackOverflow и мисля как ефективно да го формулирам, в крайна сметка отговарям на собствения си въпрос!

По същия начин, понякога, когато говоря с други членове на екипа, в крайна сметка отговарям на собствения си въпрос. Това се случва, защото ви принуждава да мислите за вашето решение.

Неуспешно решаване на проблема им отново

Един от най-успешните техники за отстраняване на грешки, които открих, е да се опитвате да преминете през вашето решение отново и отново и в някои случаи да се опитате да въведете отново функционалността от нулата. Това ви принуждава да откриете потенциални проблеми, като пресъздадете вашето изпълнение.

Неуспешно връщане назад

Обикновено, ако можете да изолирате симптомите в определена област, можете да започнете да изкачвате стека на повикванията, за да проверите всички променливи и очаквани стойности. Това може бързо да ви доведе до разкриване на части от вашата програма, където нещата се държат неочаквано.

Неуспех да научите Debugger

И накрая, единствената най-добра инвестиция, която можете да направите в себе си, е да се научите да използвате дебъгер. Всички IDE се предлагат с мощни програми за отстраняване на грешки. Те следват същите основни концепции. Те ви позволяват програмно да спрете изпълнението на вашето приложение, или при стартиране, или в определена част от програмния поток.

Съществуват и множество инструменти за отстраняване на грешки, които могат да помогнат в този процес.

Ако тази статия е била полезна, ??? и последвайте ме в Twitter.

Разширения на GitHub за повишаване на вашата производителност

Ето разширенията на GitHub, които използвам. Те ще ви позволят да подобрите производителността си на GitHub. Моля, споделете вашия ... medium.freecodecamp.org