Debugging As a Developer
Tags: debugger, beginners
Published: 2020-04-14 13:24:55

Developers are faced with one area of their coding journey that can be quite frustrating **[DEBUGGING](https://en.m.wikipedia.org/wiki/Debugging)**

> Debugging is the process of finding and resolving defects or problems within a computer program that prevents correct operation of computer software or a system - _Wikipedia_ 

This is an inevitable phase in development, as you constantly encounter `bugs` in one way or the other; this may take days or weeks to debug... **Not to scare you,  especially if you are just starting out LOL**

But [bugs](https://en.m.wikipedia.org/wiki/Software_bug) actually doesn't make you less of a `programmer`,  what is happening basically, is that, there is a missing piece in that puzzle you have to unravel or solve and  this in return make you better as a `developer`

# How Are Bugs Introduced 

There are couple of ways `bugs` are introduced in our computer program which are as follows:

- when you don't understand the program structure.

-  breaking changes in computer program versions. 

- [syntax](https://en.m.wikipedia.org/wiki/Syntax_error) errors from programmers such as missing a closing parenthesis etc.

- and lots more.

# Tools For Debugging 

The most readily available tool for `debugging` is the [Developer Debugger Tool](https://en.m.wikipedia.org/wiki/Debugger) which is available on most commonly used [browsers](https://developer.mozilla.org/en-US/docs/Learn/Common_questions/What_are_browser_developer_tools).  
![debugger-tool](https://dev-to-uploads.s3.amazonaws.com/i/lncuhygbke35hyn9hoon.PNG)

We have [IDE's](https://www.google.com/amp/s/stackify.com/top-integrated-developer-environments-ides/amp/) like  [VS Code's](https://code.visualstudio.com/docs/editor/debugging). This has an built-in `debugger` that helps accelerate your edit, compile and debug loop. You can also apply `breakpoints` and check for `errors` in your `computer program` 

![Alt Text](https://dev-to-uploads.s3.amazonaws.com/i/xohrnv3aaf1oqvol3aeq.PNG)


# Other Ways Of Approaching Bugs

So what are the best ways we can approach our computer program when there are **bugs**


- **Documentation**: this is a very important tool that can help you solve problem in any computer program.

- **Understanding**: you have to understand what you are coding,  what are your expectations and that gives you an hint on how to find a possible solution.

- **Go online**: there are online platforms that are very helpful when it comes to proffering solutions in any programming language such as [Stackoverflow](https://stackoverflow.com/) and a lot of developers can testify to that,  and other similar platform, take for example, if you are a `Laravel` developer like myself,  you will find [Laracats](https://laracasts.com/),  [appdividend](https://appdividend.com/amp/laravel-tutorial/) very useful. `YouTube` is another useful tool  I find it very interesting, you get to see the practical demo.

- **Research**: check out for breaking changes like change in version especially if you are coding from a tutorial video and use the program documentation to cover up for any error.

- **Reach out**: yeah,  call a friend , your mentor and discuss your problem with them,  your can go further by sharing your screen with them or in any forum like [Github](https://github.com/) by dropping a message or issue or checking out for solved issues.

- **Relax**: fatigue on the part of the developer can cause him or her to mess things up,  so leave the code and do other things you find interesting,  when you feel refreshed,  come back. Am sure you will begin to see things from a different picture.

Basically,  I have highlighted most of the ways that works for me as a developer,  I hope they work for you as well

_Feel free to share your experience or ways you approach bugs in your computer program_

Original article was published on my [blog](https://judyblogbeta.netlify.com/2020-debugging-as-a-developer/)