"A person's life is only once. Sadly, it cannot come again. Fortunately, it does not need to come again .", Feng Dao's description of life makes sense. In fact, this sentence also summarizes the purpose of software development.
Most software developers have such an impulse to solve a problem, including myself.CodeTo express the impulse, coding, and then come up with the results, people are convinced to take orally, a cow.
But is this really good? The code can only be understood by yourself. If someone asks you how the code works, you say a lot and the result is not understood by others. The boss asked for a new feature, but you said, it is a little difficult, it violates my software architecture. In fact, this is just a word. Does your software have an architecture? Can you take it out?
Some may say that XP advocates code as a document. But XP is designed, but the simplest design, but can show the architecture of the software.
Software development starts from the current state of nothing and moves forward to a single purpose (to solve customer problems), and software design is to find the most direct and shortest path as much as possible.
From software to functions, it is best to have a design. Although this is a bit difficult, I think it is best to implement it, whether it is a document design or a design in my own mind.
I will restrain my coding impulse and think more.
My goal is to reduce rework for self-developed projects.
You have your own ideas to make progress.