How pinnacle of life by programmers to create the wheel?

Preface: you do things that maybe do not see the results. But do not despair, you are not do not grow, but at root.

Programmers often circle the popular saying: "Do not repeat create the wheel." In the computer field, we will be packaged components, libraries, called the wheel. Because it can be used to directly, directly into our project, we can achieve the corresponding functions.

Some students will ask, people have been doing, you come back to re-do it again, what is the point? This is not a waste of time.

As everyone knows, create the wheel is a way of learning can progress quickly, well built, is the rare ability to express themselves, as well as to increase their visibility, create the wheel by some people know almost became a big V, some people rely create the wheel He wrote a book, some wheels are made by big companies poaching.

Standing firm point of view, is not to create the wheel for many reasons. Standing individual technical point of view, we strongly suggest that you create the wheel, it can give you not think of something.

To analyze what the wheel is what made the wheels bring give us, how do we create the wheel, hope to help you, help me to remember that the point of this article like oh, standing technical point of view.

table of Contents:

  • The difference between the wheel and the invention is to create the wheel
  • Create the wheel to get what
  • Made at different stages of the wheel,
  • At work, you should try to create the wheel?

First, the difference between the invention of the wheel and the wheel made

Now we all know, the wheels should be round, most effort. And when our ancestors, I do not know what shape are labor-saving situation, you can invent a triangular wheel, four-wheel, five-sided round, round round, and so on. Each wheel is different shapes, called the wheel.

file

And when we all know that after the circular wheels are in the best shape, and then invent the wheel other shapes pointless. By this time, how to improve the existing circular wheel, it is the most important.

file

The figure above, the same circular wheel, but the stone turn round wood, to hollow wooden wheel, to the evolution of the gas turbine, the circular wheel more and more effort.

So, that is the difference between the wheel and create the wheel, the invention of the wheel is completely without considering the foundation of their predecessors, from scratch. And create the wheel, in fact, is the process of improvement of the wheel, on the basis of previous, to get better and better.

Popular in the circle of the famous program: "Do not repeat create the wheel", the other its English original text is "" Stop Trying to Reinvent the Wheel "" The real meaning is not to reinvent the wheel.

So, this is what we create the wheel pointed out the direction we need to understand the principles and the pros and cons before wheels, to improve, to make it better. Rather than entirely from scratch, get yourself back.

Second, create the wheel to get what

1, a great way to learn technology

When I first started learning custom, they did not know how to start, it is very nice to github search controls others written. How to search, we'll wait for the next to speak.

Find a lot of one-time, one to download the source code view, find those controls in line with the current level of their own, analyze its implementation principles, which I will not find knowledge, go for this knowledge. Etc. These have learned that he then followed to achieve it again, and even found some of its bug, and give it to repair.

When you learn one, two, three components in the future, you will find a lot of knowledge of the use of custom controls are similar, and now, although I've been out two books custom control, but I still often to look beautiful on github source code to see the effect of custom controls. Knowledge does not always find something urgently supplement.

github an open source component, provides us with a wealth of learning resources, and other people's code can upload up, get some star, just shows the code written in other people, other people in the process of analyzing code that implements the principles of unconsciously on his understanding of the way the code architecture, when you read the several components of the source code, you will find that the master is the master of reason, code readability is really high, some people enjoyed code read, while others the code reads want to die.

And it is in the process of analyzing someone else's code, the level of our architecture and norms, but also unwittingly develop than we immerse yourself in the comfort of their own circles, thinks he is very fast hardware, there is no comparison , more clearly understand their own level.

Learn from others, is not only an attitude, but also a way to enhance their own.

2, popularity

Prior wrote an article , "Kai ship: What programmers have suggested a lifetime" , know the almost one thousand praised the fast break, strongly suggest that you look at, write the program for so many years, all the experience gained.

It is mentioned for the community to recruit students, the need to practice outside the fame, cohesive strength. The wheel is made outside the practice a way to fame. In "Kai ship: What advice programmers a lifetime," the article after the fire, many students asked me all kinds of questions about create the wheel, so I decided to talk about opening a special wheel-related content, that is, now the article.

Fame What's the use? It can be quite useful, before I wrote an article , "Kai ship: for computer science education is really important to you? " I discussed in detail

But, if you have a certain reputation in the industry, not what qualifications, what work experience is not enough, other various effects are no longer affected, you're waiting to be headhunters dug it; at the time of recruitment, if the interviewer you know, it is absolutely necessary over existence.

I have not had such wheels, but I was writing a book, write a blog beneficiaries, when I interviewed VIVO, the performance is not good, because my business a year, Android review knowledge never before, have forgotten a lot of knowledge, but also did not have time to review, let me go to the interview.

They thought I was a particularly powerful figures, arrange three technical experts also face the results, answer any of them. But, ultimately, it gave me OFFER. Because they recognized my power is enough, but after a long time, has forgotten to pick it up just fine. Conversely, if there is no influence in this industry, that this would definitely be hung up.

An expert in the field of Android, Ren Yugang, submitted on Github dynamic loading frame. Is a pioneer in dynamic loading frame, back frame are a lot of draws its principles and code logic.

https://github.com/singwhatiwanna/dynamic-load-apk

star on github amount reached 5.8k, if you can get out of such a component, then waiting for someone to invite a book, lecture, people dig it.

file

Third, create the wheel at different stages

Create the wheel, like learning, is there a gradual process. Do not think, get yourself out of a component, you specify the fire, ambitious, asking for the moon, it is not possible.

VIVO has a saying, everything has a cause and effect, because we just buried seed, to celebrate the harvest season natural harvest!

We always see, people so and so who, how and how, how much worse. In fact, people's efforts and dedication, you can not see. We are all human beings, not gods. All you see is illusion, the efforts behind them, you can not see.

The first stage: learning-based, they may say

First github, look for the corresponding components based on the keywords you like components, such as you search for "custom", will come out in various languages ​​list of components that contain custom controls, when you select the java language, It will filter out all the custom components under the java language list.

file

One by one to see their effect, if the effect is like it, and then download the source code to read. People look at is how to achieve, how to do, what technology to use, do not go to school.

The first stage, mainly based learning, people look at is how to do it, anti-learning technologies out a. In this way, after half a year you proof, will find in this area, your knowledge has become a system, this time, you can try to write their own control in a.

When you find that some knowledge is not the time, look at the data I have collected below, you can quickly learn.

I carefully put together from entry, advanced, combat video courses and e-books in all directions of computer technology are essential learning experience on the road, followed video learning is the most improved and all courses have the source code, directly followed to learn! ! !

As long as attention to micro-channel public number [start] after the ship topics for replies keywords to your desired direction , such as "Android", "java", "ReactNative", "H5", "javaweb", "interview", "Machine Learning "," web front-end "," design mode "key to obtain the corresponding information. (All information for free delivery, forwarding will depend on all publicity voluntary)

Video content is very large, a total of 2184G, more than sixteen hundred eBooks, 900 sets of video tutorials, involving 43 directions. I put together for a long time, some of the information is by buying the hope that we can fastest upgrade themselves. Helped me a praise it.

"All computer network 2184G each direction video tutorial / e-book summary (Update)"

file

The second stage: simple controls to achieve their own

After the formation of their own knowledge system, while watching blog or articles, often you see people introduced some of the components, then, if they wanted to achieve, how to achieve. Their first attempt to achieve it, the bug are resolved.

Then, look at other people's source code, in contrast to the process, it will find that the idea is not the same, he realized more than hello or more than your poor, some of which involved his knowledge, is not a problem, and so on.

Honed not by segment, this knowledge is basically reached learn and use, you can enter the next step.

file

The third stage: analysis of complex controls to achieve the principles, submit Merge Request

He can achieve in a few simple controls time, this time we need to find some complex components to dismantling, to see other people's source architecture. Knowledge and learning framework implementation principle, lay the foundation for the realization of their own complex controls.

For example, some time ago I research framework Lottie, Lottie is an animation frame, made out by AE animation applied directly to the code.

In the understanding of the rationale behind Lottie, Lottie found that there is bug, it changed its source code, fix bug, increased functionality, and so on, so that this framework can be successfully applied to the project in the font parsing and rendering.

This is the ability to control up to a certain level, when you have a mastery of the field, for high-end frame, fully able to help it repair bug, expansion capabilities, further, you can change its core logic, in order to achieve further improvement framework Ability.

file

The fourth stage: to achieve their components - true-create the wheel

When you use a framework, components, and found it in a bad mood, or have their own ideas, you can try to improve yourself out of a. Of course, the best way to improve, or after the first of similar components available in the market to fully understand all the principles, to be improved on the basis of their effect will be better.

I though, this final step in, but create the wheel is always possible, we do not have to worry about writing components is not good enough, he was criticized. You are really finished, put it on github, you may find that simply no one ...... will not be criticized.

This blog is written with the same, just the beginning, blog quality is not high, there is no one, but if we continue to optimize the writing, there is always a consummate that day.

Many people, like what are ready to begin. Last year, I write a book, have a friend who wanted public number, has been thinking about material preparation, research direction, to see a variety of tutorials to him, he wanted all ready, will start Shumenshulu .

And I differ, I began to any one before, thinking only given direction, the contents of which aspects do, once set the direction, and I never considered good preparation, is started. Encountered No, find ways to solve that. Now I have written a book, has thirty thousand fans, he was also preparing them.

We all need to play no matter what the cornerstone, the foundation started to play the best time is now, if you do not start now, maybe in the future will no longer start up.

file

Fourth, in the work of the wheels to try it?

Work, if time permits, simple component, you can try to write their own, complex components, it is recommended to use ready-made. After all, the company is not a charity, not because of a component lets you write twenty days, not to mention, there are readily available online, you can make use of them. Your own schedule, row a twenty days, and he is no way to explain it bell.

file

This article on here, hope we can have the receipt. Remember me point like oh.

Public concern number [Kai ship-talk] reply "Android", "java", "ReactNative", "H5", "javaweb", "interview", "machine learning", "web front-end", "design mode", "PubMed "," product manager "," operations such as "keyword acquire the corresponding data, a total of 2184G, involving 43 development directions, entry / Advanced / combat has more than a thousand e-books and more than nine sets of video tutorials.

No. [public] Kai-talk ship, the ship of Kai, published books, record industry, spent Ali, Android developers now VIVO, will consequently point.

Kai ship: 2184G whole network computer video tutorials each direction / e-book summary

Burst Man Recommended:

Kai ship: a computer that something so choose a school is the positive solution

Kai ship: computer science is necessary to PubMed it?

Kai ship: young rice in Chinese programmers do?

Kai ship: How interviewer holding the nose in the computer interview?

Kai ship: What are the programmer for a lifetime of recommendations

Kai ship: how do you become self-discipline?

More Kai ship original article:

Kai-ship boutique list of articles

Download:

Kai ship: 2184G whole network computer video tutorials each direction / e-book summary

Kai ship: 452G computer PubMed preliminary examination / re-examination of aggregated data (video + first test counseling major universities re-examination data, all free !!!)

Kai ship: Latest! Computer school recruit Zhenti years 2016-2019, by plane, review the information summary (11G / 2284 documents)

file

All my articles are all original, all have to cooperate with copyright protection platform, Kai-ship all the copyright, unauthorized, Bhd!

Guess you like

Origin juejin.im/post/5e166112f265da5d6d3aefe6