Current location - Training Enrollment Network - Education and training - Java training of Beida Jade Bird: What are the skills of self-learning programming?
Java training of Beida Jade Bird: What are the skills of self-learning programming?
1. reading > writing code > reading > writing code (day after day) reading code (books, blog articles, open source code) will help you find solutions, understand best practices, and have a general understanding of languages or systems.

But after you do this, you need to write your own code.

It can be anything.

It can be a small coding exercise or an amateur project, but make sure you can put it into practice and use what you have learned in some way.

If you don't do this, you will find yourself at a loss when facing the editor.

The trick in this respect is to make yourself uncomfortable.

It's painful, but it should be.

Coding follows the 80/20 rule.

Spend 80% of your time on 20% of the code, or 20% of what you have learned.

Getting used to this uncomfortable feeling and overcoming it is the key.

This iteration cycle should not happen in a few weeks or months, but in a few days.

The longer knowledge waits to be used, the duller the axe of knowledge becomes.

The longer you wait to learn new knowledge, the harder it is for you to integrate it into your code.

The website I recommend reading about general programming topics is lobste.rs

There are many articles on many programming topics.

Another good website is HackerNews, but the website often digress.

2. Don't be deadlocked.

The biggest mistake I made in asking for help was that it took me too long to learn programming when I was deadlocked.

When I am stuck, I will spend a lot of time on something stupid or something I don't understand at all.

Sometimes it takes me a few days to finish these tasks. If I can find a better solution, I can use this time to do more things and learn more.

Sticking to one thing for more than an hour is basically a waste of time.

I recommend three things to avoid deadlock.

The first is to read as many books as possible about the technology you use and master what is happening.

Usually, when you are in trouble, it means that you have made incorrect assumptions about things that need to be clarified.

The second is online consultation.

This is obvious, but it is still worth mentioning.

It is an important skill to find and ask people who have had this problem online.

Stackoverflow is arguably the best website on the Internet.

Don't be afraid to ask yourself questions there

Just try to explain your problems correctly at ordinary times.

I wish I had asked more questions before, but I always stopped for fear of appearing stupid.

My third suggestion is to ask someone you know for help.

Usually, you may already know the technology and have questions, but you may need a higher level of background to really solve the mystery.

Don't be timid, have the courage to ask.

For example, when I was studying Docker, I spent a lot of time rebuilding images from scratch.

I don't understand docker cache at all, and wait for a single change to pass into Docker File for 20 minutes.

I may have spent eight hours waiting to build.

If I read more books about Docker, or ask some people who know it, then maybe I have understood it long ago, and I can learn more in a shorter time.

3. Working for a project In my experience, nothing is more useful than learning programming by doing your own project.

With some exceptions, all the really good programmers I know have the habit of working on part-time projects (this may also happen at work! )。

It is a very challenging thing to have an idea and try to realize it.

This requires a strong sense of self-discipline.

However, by trying to actually do one thing, you can learn how to decompose problems and apply technology.

The problems you face and how you solve them are really called programming.

Knowing every odd detail of a programming language is really helpful, but it will only make you more and more outdated.

In addition, the motivation to complete the project is the motivation to continue learning.

The satisfaction you get from amateur projects far exceeds the satisfaction you get from abstract learning.

My advice on choosing an amateur project is to choose something you are interested in and you also have an idea on how to realize it.

Being able to express realization before starting always helps to keep my motivation.

You are sure to learn a lot during this trip! 4. Recognize the difference between deep learning and porters.

Choose accordingly.

There are two types of programmers: perfectionists and porters.

Some people want everything to be right, they want perfection, they want to follow all the best practices and write beautiful and elegant code.

They want to understand every line of code.

Unlike those who care about everything, as long as their code works, even if it hurts the code base.

It is very important to balance these two skills.

Sometimes you should delve into a problem or project and see what will happen.

Sometimes you should let nature take its course, even if you don't know what happened.

Whenever you spend too much time on one thing, ask yourself: which method should I take? In most cases, you will want to take the middle value.

You want to provide a good and solid solution, and at the same time you can understand and modify it confidently, but you don't need to spend ridiculous time.

As you grow up as a developer, you will better understand when you can leave and when you need to leave in some way.

Personally, I like my project to be 80% perfect.

If your project is absolutely 100% perfect, and there is not a single line of code that makes you feel embarrassed, then you probably spend too much time.

Communicating with other programmers is a good way to learn programming.

There is no need to talk about anything specific.

It can be something you are learning, something you think is cool, something you are doing, and so on.

You will find that many programmers don't like to just talk about programming.

Doing so can help you learn a lot about libraries, services, programming languages and patterns.

But, most importantly, you will learn how others view programming.

You will find that things you take for granted or never consider vary from person to person.

If you have nothing to talk about, then go back to the topic of editor war or tabvsspace.

6. Try everything.

If you don't understand, wait six months.

Finally, I want to say that this has been happening to me. I've tried many things, but I just don't understand.

After trying something new for 30 minutes, I will stop.

At first I thought it was normal.

However, I remember many times that after six months (or three or nine months), I would go back to the same problem or technology and figure out how to use it.

This is because I have mastered some knowledge that I didn't have before, or it's just a framework of another way.

Waiting for a while to go back is always the most useful way.

An example of this is learning how to use the terminal.

I remember I didn't dare to touch the terminal for a long time because I didn't know how to use it.

It took me a while to follow the steps and use it regularly to get to know it.

Of course, if I knew someone who could answer me, or found good resources to study, such a thing would not happen! Conclusion These things can help beginners learn programming in a long journey.

I know I have more to learn and will continue to learn how to learn forever.

The most important thing is to say it three times, please continue, don't give up, don't give up.

Of course, it's easier said than done, because learning programming can be frustrating sometimes! Don't worry.

This is normal.

Everyone has experienced such a mood.