1. When a bug occurs in the software you write, you can directly break the breakpoint or add printf for debugging.
If you take it for granted, you should get rid of it because it will hinder your improvement in your thinking ability, in exchange for the familiarity of some tools. If something goes wrong, you have to debug it. You just need to put it into our mind. In the beginning, this will be difficult, because there are preconditions for doing so. This is because the premise will force you to design software modules in a clearer way. If you do not clearly set the program flow in your mind, you can't talk about debugging. If you stick your head to it, I think you will think of a song at this time, and it will rain all night, that is beyond the scope of human thinking. Sometimes, the difference in habits determines a lot of things. Changing fate begins with changing habits.
2. When your software requires a function, your first response is to add code.
For a developer, This is often the case, and some may be the case all their lives. This approach is doomed to be greatly improved and busy for a lifetime. When talking about the correct method, we must talk about a capability, a very important capability in software development, an abstract capability. When you look at the height of the problem, it directly determines the quality of the software. Every Function Modification and addition should be a test of your design. We need to make our design more abstract and streamlined. Instead of making him redundant.