In software development, is there something similar to martial arts in ancient martial arts?
1. Dugu jiujian
An exclusive sword has a general style, such as a sword, a knife, a gun, a palm, an arrow, and a gas. The only thing you need to do is to attack the enemy. Although only one sword is used, it is an infinite change. After learning it, it is even more powerful to combine the previous and later versions. The essence of jianfa is: The enemy plane first.
The biggest enemy in software development is change. Although we cannot stay the same, if we can anticipate some changes in advance, then we can deal with dramatic changes at a very low cost. The design pattern can be seen as the "unique sword" in software development. Whether it is a creation, structural, or behavioral design pattern, it is all looking for possible changes in software development, these changes are foreseen in advance, so the essence of these changes is: The enemy plane first.
2. jiuyang
9 Yang's power is an internal skill. Although there is no skill, it is easy to practice other martial arts as long as it has the foundation of 9 Yang's power. Zhang Wuji learned the power of the 9 Yang Dynasty, and then practiced Qian Kun and moved quickly to the seventh place. It took at least several decades for others to cultivate their internal strength.
Object-oriented, with a profound and solid object-oriented foundation, you can quickly learn other knowledge, such as the design model, and vice versa, even if the design pattern is forced to cultivate, it is still difficult to learn at the end, and the time has been delayed and nothing has been learned. Therefore, do not even understand abstract, polymorphism, encapsulation, and other concepts, let's talk about the design model.
3. double swords
The two swords work together with each other, and the power is infinite. They are usually done by two people (unless they practice both hands to fight each other, they can be done by only one person). When one person attacks, the other defends against each other, in the process of confrontation with the enemy, two people are always interchange positions. Of course, the martial arts of the two people should not be much different.
Pair programming also needs to be completed by two programmers. The two programmers sit side by side in front of the same computer to complete the same design, algorithm, code or group of tests, during the entire process, two people often change roles. Compared with the independent work of the two programmers. Pair programming usually takes about half of the time to compile code with higher quality. Similarly, the two should be at the same level. A programmer with several years of coding experience cannot be paired with a fresh graduate.
Doing software development is like practicing martial arts. Not everyone is born to be a master. It takes countless practical practices and continuous practices to reach the realm of a master. In this process, you must be enthusiastic and step by step, practice is suitable for your own martial arts, perseverance, in order to become a real master.
The above is just a boring work, just a big family smile on the weekend.