As a self-taught programmer , I've been pushing myself to learn , I'm going to share with you six key tips that I've come up with .
The process of learning programming , As follows ：
* Reading a book 、 The blog 、 Take classes or watch videos, etc
* Copy the code from a book or blog , To reproduce , Recurrence doesn't matter , Thinking is the key
* After thinking and learning other people's ideas , Out of books and blogs , Completely self fulfilling
* Do something by yourself DEMO, Look at other people's project code , Discuss with others , Improve code capability
* Under the framework and demands of others , Write code to realize business
* I am responsible for the implementation of modules designed by others
* Independent design business module and development and implementation
* Responsible for the framework design and splitting of large projects , Lead others to develop
* Other high-level architecture and management work , It's not just code capabilities anymore
And here are the six key tips I've come up with .
1. Make programming a habit
The best way to develop a skill , It is to integrate him into our life and become our hobby . In fact, it's plain , To make this hobby a habit , Don't do it for a day , I feel like I'm missing something . Before you know it , This habit will build up like a snowball .
For me, , To develop this habit, we must first of all be aware of “ Procrastination ” Say no . such as , When you want to practice your writing skills , But there's no nice book , No good inspiration , There is no quiet environment .... All in all, it's for all sorts of reasons to procrastinate , In the end, it's over .
But think about it. When you have a nice book , A comfortable environment .... Can you write good articles ？ No ！ I'm very clear to you that , The basic knowledge of the article is formed with your continuous accumulation . therefore , When we decide to do something , Please immediately ！ immediately ！ Now it's time to move ！
And then start with the little things , If I decide to start running , At first, I would only ask myself to run two times a week 、 Three days . Although it seems that the requirements are low , But it's easier to stick to it for a long time , And will not be easily disturbed by other factors .
The same idea applies to learning to program . Take out a few days a week , Take out a few hours a day , Programming learning is on the right track . If you don't feel in the mood to read programming Textbooks , No problem , Technical lectures on video sites can do the same .
2. Break up the work into small pieces
Treat programming work , We don't have to be exhausted at one go like fitness freaks . Instead of programming directly 2 Hours , We can do it first 25 minute 、 Then rest 5 minute , The whole process repeats 4 Time . Obviously ,25 Short periods like minutes are easier to hold on to and don't bring much pressure .
However, such a way should be combined with more flexible implementation ideas . If you feel in good shape , and 25 Minutes to warm up , Then go ahead and try to catch yourself in this state . I'd like to recommend the tomato working method , It's a good mechanism for learning new skills , I recommend you to understand .
3. Read other people's code
After years of programming learning , I think the best way to improve the coding level is to watch more 、 How to write , However, reading other people's code is really a skill to quickly improve the code level . As for how to read code efficiently , Can add teacher satellite ：lezijie007（ There are too many people to add. Remember the code between us programmers ： Think no 33）, Get learning guidance , If you have any technical questions, you can ask the teacher .
4. Looking for a mentor
A good way to learn programming is to talk to other programmers . This can not only help us acquire an additional way of thinking , At the same time, it can also complete the learning task with a more pleasant feeling . As for the content, there are no specific requirements , It could be something you're learning , It can be something you think is cool , It could be something you're working on . Doing so may teach you a lot about Libraries , service , Knowledge of programming languages and patterns . however , most important of all , You can learn how other people view programming .
5. Writing technical articles
If you learn a new programming concept , But I'm not sure if I've really mastered , It can be tested by writing technical blogs . Or search the tech blog website for , Find out if someone has asked a similar question , Then give your own answer . If the answer is not right , Then the process of discussion can effectively deepen understanding . This process , Can bring us valuable experience , It can also help others .
It's worth reminding , Don't worry because you've just been involved in programming . Rome was not built in a day , The same goes for good programmers . As long as you know something about the problem , You may as well give your own answer —— Right or wrong , It's going to be a valuable experience .
6. To be patient
For life , Any of these goals can't be achieved without patience . Programming learning is like any other learning task , It takes a lot of effort and time .
In the process , You are bound to experience high and low —— Don't let these curves affect your mood . Accept what has happened , And try to avoid the bad parts .
Comrades , come on. ！
Many people find it difficult to learn programming , Most of them are mastering methods , Not ability 、 Gender or other reasons . Besides trying to reach the level of the industry's top developers , If you want to learn programming , Got the right way , You can learn .
The individual through the title description analysis , It should be that the learning method is wrong , I didn't develop the thinking and ability of programming , It's a causal relationship .
It's hard to program , I also met when I was a beginner in programming . Just learning programming will take many detours , I want to find a proper way to learn . It's worth encouraging to have such an idea , At least know how to learn better .
Computers focus on building functions from existing knowledge , And the steps to build functionality are fixed , It's just a matter of mastering the basics , And improve your thinking ability . Thinking ability is also the core of programmers （ Not to see , Not writing , It's thinking , If you follow someone else's code and think about it , So it's also effective ）.
If you want to Teach Yourself Programming , Whether you change careers or not , It's better to be a beginner , It's OK to be advanced ——
involves ：C/C++、windows Programming 、 Network programming 、QT Interface development 、Linux Programming 、 Game programming 、 Network security and so on ......
An active 、 High forcing lattice 、 High level programmer programming learning Hall ; Programming communication is just by-pass , Only the improvement of thinking is valuable ！