https://blog.csdn.net/ricohzhanglong/article/details/1732149
But what is holy canon of software development?
Let's start with some of the phenomena departure. Our premise is that software development is a knowledge-intensive labor. For knowledge-intensive work, we observed phenomenon is that large individual differences in the performance of large differences in performance of the team, a big difference in the performance of the organization, a large performance differences in the country. This is unlike the predominant physical labor, like the king one hundred meters to run only hundred meters speed 50% faster than me. But in chess movement, a master can wheel battle digital low hand, and beat them one by one, without exception!
These athletes showed intelligence is characterized by calculating precise and fast. Its behavior is as unassailable. While many legends about the holy canon, but the most accurate description of only one word "fast." Swordsman been coming frightening proportions. Like Kasparov Deep Blue has been coming to the point.
There is an anecdote about the physicist Niels Bohr, and Bohr once heard two young professors lecture the results of their work at Princeton University. During Bohr suddenly speaking, if the count down according to your research, you will get a very interesting inferences. Calculation results of the two young professors go back a couple of days, and she came to the same conclusion. Bohr is how to do this fast?
In software development, we also note that such an expert, they can write about a thousand lines of code per day of high quality. They can use some existing packages, the speedy completion of a new product. They can in a very short period of time, learn a new programming language or new technology. They show an amazing speed.
In martial arts, all the experts have some mortals can not match the performance. Like Zhang Wuji Taiji school, with a Dragon claw hand beat Long Zhaoshou masters; serrucho hero in the world by defeating Chang Quan Dynasty; Gusumurong eye for an eye person in his body, Linghu sword assassination more than a dozen pairs of eyes blind and many more. I think the reason they can do this, the key is that they are fast.
Fast does not mean denial or poor quality. Fast and quality are not contradictory.
Master of fast, in fact, contains a very high quality in them. If you master the fast because it questioned its quality, it is equivalent to asking: Swordsman shot so fast, will not be allowed to stab? Swordsman not satisfied with the rival stabbed to death, he would stab flowers in the opponent's body. He became the art of killing. Accurate, his real interest is not to kill, but in the arts.
To say the least, even if unassailable first hit a little deviation, after he slightly amended immediately to keep up with second and third attack will hit where he wanted to hit. In martial arts sword poor opponents not dial out, he had stabbed and killed each other on a flower.
So the real software expert, he was not satisfied with his code can effectively work, he thinks programming is an art, and obsessed with it. In the low hand to write a version of the time, he had written the tenth edition. Of course, the quality is quite different. Nine as a player, at a given time, he can calculate the ten possible, and then to calculate every possible hand 100, choose the most favorable dismount. Is there anything underhand opportunity Gouquan of?
Master writing software is always kept in the reconstruction (refactoring). Experts like iterative development. Experts say, it is the incremental patch, iteration is to reinvent the wheel. For software this kind of thing, it might write again ok (not easy to do this), write ten times is a great product, no matter how great some even write it again.
The trick is to quickly master he is very familiar with all kinds of things. Master reading quickly, because each new book, the content is worth only a chapter of his two new technologies look well. He read quickly and accurately understand the book's central idea and value. For a novice, every word is new, he needs to understand each segment example, he needs to try.
100% brand new rarely see a kind of technique or theory. Like the java language specification says, java does not use any new technology, it is used in industry-proven technology. For experts, those techniques are familiar to him. Naturally, he soon became a master java c ++ from a master. If a novice programmer to learn java, learning not as a master school for two years two months. Master quickly learn new things.
Master write code faster. Statistics say, per person per month rate is probably valid codes 300-400 lines. But that is the industry's average productivity. For experts, this figure is too low. Write 300-400 lines per day is entirely possible. Because when writing code, all knowledge are in place, he has no need for anything more than to spend the time. He rarely even need to debug.
Master the ability to reuse code very familiar with the new api very quickly. This is also because he has used a lot of api, to reuse a lot of code. He knows what is available and what is defective. He had both with qt, also used gtk +, also used the windows api & mfc, also used awt & swing. The new api for him, is an old acquaintance.
Experts like lightweight tools, such as vi, notepad, to a maximum of ultraedit so complicated. Expert write a lot of things with this tool. These tools like needle unassailable. That needle already has a sense of magic, sometimes it can be a laser gun to use.
For some heavyweight tools, expert though not common, but also mightier than once resorted to ordinary people. If you let unassailable with a sword, the most powerful fencing masters will lose very ugly. In fact, experts spent a lot of heavyweight tool, and aware of its advantages and disadvantages. So make out, it will put the power of play to the maximum, and to reduce defects to a minimum. The low hand is not, always carry forward the defect to be big and muddy I do not know what its essence. Like a lot of people learn to use uml, rup, xp, design pattern that.
Bo and miscellaneous experts have learned in context. Experts do almost anything, when the low hand still do nothing about when the master has satisfactorily resolved the problem, go to the shop and go to something else.
I believe you have a little want to become a master. But there is a urgent problem to solve, etc., that is, "To practice magic, we must first since the Palace" problem. This fact is figurative sense. That is, you have to abandon some of the things worldly people are valued. There was a poem:
Everybody knows good masters, but can not stand the loneliness
Everybody knows good master, only forget the fame and fortune
Everybody knows good master, only the money must
Everybody knows a good master, and the world must hold beauty
Everybody knows good master, do not write the code the very best
Master of martial arts is not an overnight excel. Remember Bohr anecdote it, Bohr replied that he also calculated that a lot of problems when they were young. In many calculated based on the expert can cultivate a feeling. Experts do not write code that will be able to do the design because he wrote a lot of code before. And they will remain write code to ensure that their own level does not drop. Think about how master is Kau excel. The most difficult to do is to be able to endure loneliness decade sword. When others in their parents spoiled, they work hard in the side. Decade of sword, the sword became unassailable needle.
After you set your mind to do after the master, is determined to abandon those who seek after worldly, that is, you determined to endure from those who looked down upon vulgar, attacks and abuse, you have the magic of the necessary conditions to excel .
In fact, you do not have to actually start practicing magic, we may start it for the money, houses, cars, beautiful women just programmed, but later on from the art produced. Then the master will no longer focus on those things. Charlie Chaplin once said, he began to enter that circle is for the money, and later on from the art produced. Of course, it was also a beginning for the arts, and later became for the money.
The so-called thirty, that is to thirty, you find your true love, the kind of life to be worth pursuing. For example, some thirty people to think that life should earn as much money, this is no good, you can put money into an art in itself, is also the so-called capital operation. So thirties, some selfishness nothing. 30 after also this is shameful. And I want to be a programmer.
Everyone doing their favorite thing. The world needs programmers, but also need the capital. All the Real Programmers, his favorite thing is programming and his own. If he later went to do ceo, no programming, indicating only that he had not a real programmer.
On the way to become a master of zeal, step by step, to persevere.
Rely on their own, the book should be quick to look. To try to quickly understand the gist. In fact, you quickly see the amount of information received, and slowly look almost acceptable. You can understand how much depends largely on your skills. Looking back again after use. A lot of new things for you to book, do not expect to see a full understanding of absorption. Like a lot of skill is not enough people to see the same design patterns book. Might as well take your time to find a variety of information sources, both quickly read through. For a totally unfamiliar area, look at a book is not enough.
Rely on their own, things to do quickly. A friend of mine a few years ago I introduced him to play linux, also said he wants to play, but he is not touched. He lost a lot of opportunities.
Usually have a sense of their own to improve the speed of writing code, in fact, your day to write 15 lines of code valid, effective 50 lines of code you write, the quality is the same. You should put those behind us the industry average, to go beyond their own as the only goal. Wait until you write a lot of code for a wide variety, your level is not general. A teacher told me about his know-how to learn English, he said you go chew on the original novel, eating to 50, and most people will have a great distance. It is the reason. If you write too slow, how can you write more? How we can raise the level?
Rely on themselves, learn a lot of things people afraid to learn. Low hand will say: how come so many things to learn ah. So learn or not learn less. This will not become a master. Master has a very wide range of knowledge, has a wealth of experience. I know that many low hand does not know a thing. Played a lot of things underhand never heard of.
Rely on their own efforts to meet the various needs of customers. It is to improve personal skills in the process to meet the various needs of customers in. For example, you like to use delphi, said customers must use vb, that you promised him, and then make themselves vb master. The needs of users seem **, but is an opportunity for you.
How fast can we read, write code faster, learn new things quickly, an obvious approach is to work parallelized. When you make on one machine, and can look at other documents and chat. For computer so, for people as well. If you can deal with the problem serially, your speed will increase limited. Your brain has great potential to be tapped, it should be a multi-task time-sharing system. Efforts to reduce its idle time. An economist samuelson been called the human brain main frame, you can see how fast his brain.
Make up your mind fast, you will distinguish those who are unresponsive. If you can not make life on the road is long, let it be widened. This world is changing fast, you need to get the job faster than it.
This does not make you speed up the short-lived, on the contrary, you have more time to enjoy life and exercise. Your life will be better quality, richer and more meaningful. The face of change, you will be invincible. We are all people and their own race, you need to run faster than their own faster yesterday.