Building software is fun for those that have what it takes, actually don’t let me lie to you it takes nothing but courage, dedication, ability to learn to unlearn and relearn couples with problem-solving skills, which is the essential part of Computer Science Study and Software Engineering. Problems can be break into subproblems and into pieces, following some practice will help fast track your problem-solving process and will eventually make you a better developer.
Problem Solving Skills
-> Identify the problem
You need to be sure this is a problem and not just an illusion, what is the sign of the problem so you will be sure. Then what is the cause of the problem?
-> Explore Options towards solving the problem
Google can be your able friend when it comes to exploring different options, also you can contact a friend if googling could not help, list out several ways before you decide on which way to follow.
->Evaluate your options
The Evaluation can be in terms of Best Option, Easiest Option, Quick to implement for deadline
-> Implement the chosen option
There is nothing better than solving a problem and automating tedious works, so solve problem and make life a better place.
Software Debugging skills and Technique:
Software development is a combination of skills and art, that is why most people find it difficult to assimilate (Not interesting) even after paying a lot of money for training, you need to put up the skills from the training and apply those skills with art, this is what I mean:
Placing a button in android app can be achieved with the code below in XML:
android:text="Button Name" />
Unfortunately no better android apps will be published with the design produced from that code, to achieve better design you need to put more effort to write more codes and with great power comes great responsibility, more code leads to more bug and that is why a skills or techniques to debug in order not to get drained and throw away our laptop out of frustration.
Software Debugging Technique
-> Think before you code:
Coding should be the last part of the process, the sooner you start coding the more you are likely to have bug in your app,
-> Get used to whiteboard drawing and stop thinking from your head, because it can burst
Whiteboard can be a way to see the process in a diagrammatic way, it helps you to see the data flow and even the design skeleton
-> Write out pseudocode of the code before you write the code
Pseudocode can help visualize what the actual code will look like and from pseudocode you can tell what is achievable and what will result in more problem
->Embarrase the Bug
Always read the error message first before anything else, bugs are very weak and they are scared of you reading them, for Android dev LOG CAT is our favorite friend and that is the best place to know what is going on in your app
Type of Error
-> Syntax error:
This happens when you are typing like a pro and you forget to the method name or class name, which automatically result in an error.
-> Implementation Error:
You can’t abuse the rules, you can only play with it, when you use “= “ in place of “==”, you automatically get an error because “=” will assign what is in the right to left while “==” will compare between value in the left and the right.
-> Logical Error:
If you skip whiteboard analysis or good planning from the start, you are likely to have this kind of error
Links for further read up: