How should open source software encounter a problem to ask ability to solve?

As a programmer, you have to climb out of a hole in this industry.

The ancients cloud: know it to know, noknow it is unknown, is also known.

So if we don’t know, we should ask, but in fact, there is a certain knowledge and skills to ask questions.

A beginner’s question is probably 90% searchable on the Internet, because the process of question formation generates a lot of answers around it. Now in this era of network development, you can basically find the way to fill the pit left by predecessors.

However, more uncomfortable is no lack of some students like to recognize the master, of course, this is a good thing. But you can’t go to the master whenever you encounter problems. The master also has his own things, right? It would be a big mistake if you regarded the way of going to the master for any problem as getting close to the master and so on.

Let’s use open source software as an example to see how we can handle problems.

What is software:

Baidu Baike defines it this way

Wikipedia defines it this way

My teacher defined it this way when I was in school:

Software [a collection tool that can execute a set of instructions]

Github Gitee has a large number of high-quality open source projects. For example, if you have requirements but are too lazy to write or build wheels, you can first go to Github or code cloud to judge the quality of a strange project with the flaming eyes hidden behind the glasses. You can only judge the quality of a project according to its ranking. Star and forum hot degree to judge. These are not necessarily good or bad projects but they are always on the right track.

However, in reverse thinking, there may be some projects with low initial ranking, but their quality is no worse than those of thousands of stars. The only difference is the time of open source and the intensity of publicity. In fact, this is basically the same as in real life, you opened this store early, visibility and so on than the new store to a little higher.

How did the problem arise?

Any open source project that you download locally, configure the runtime environment and various environment variables, as well as third-party services, databases, caching frameworks, HTTP services, etc., should be carefully followed through the official documentation.

It’s like when you buy a toy from a Lego store, you can’t just open it up and install it. You have to look at the drawings, even if you’re familiar with them, you have to look at the general design of the toy before you can put it together as quickly as possible. Of course you said I could do it without looking at the blueprints, so I’m sure there are people like that, but let’s not call it real today.

Any perfect product has a description document or installation tutorial, we want to quickly run the project we want to according to the document, what persistent service, cache service can be configured according to the software design needs, but this process will be different according to the system differences.

Take the Java environment as an example, Windows and Mac environment good configuration is not quite the same, nginx and so on are almost the same, many people may be confused by these differences at the beginning, not to mention because of the platform difference caused by the code runtime bugs, is not thinking about the head.

The above description is only configuration environment problems, software is usually not so simple, but also involves third-party services, such as connecting to social software API, calling printer, calling upstream and downstream API to transfer business data, many times may not run because of a wrong configuration character. After all, software development is software development, not software users, this also reflects that programmers are to digest the problems themselves, input quality software for everyone to use, here to China’s more than 300,000 programmers praise.

So what do you do when you have a problem?

First is from the official documentation or tutorial to find, especially a document, perhaps because of their own understanding and write the differences of thought to the answer you need to see the directory does not correspond to, so that you find on his answer was more difficult, but now all documents are basically have a search function, according to the catalogue to find search? I really can’t feel that he can always control + F under this classification, for online and offline documents is a killer app!

So according to the official documents to see down to see the best, can not see the search, what can not search? Let’s move on.

What if users can’t find a solution to their own problems because of various reasons? This time you can baidu, after all, the search engine will help us find or biased to find the answer you want to find, but also to use the keywords of a good problem, so that the search engine will be easier and more accurate to help us find the solution to the corresponding problem.

We can have another article about search keyword search

By doing so, you’ve probably eliminated 10% or 90% of the problem. Is open source software written in a programming language? It’s just a different business than doing your own company’s projects, so the problem is almost universal.

What’s the problem?

In this case, the problem may be the open source software’s own special configuration or a real hole.

So what happens? Open source software also has its own warehouse, official website, communication groups or forums, etc., through these ways to contact developers can always solve it!

If it is really a problem, submitting PR to his warehouse is also a solution, right?

What, you’re telling me how to do this? No, I’m talking about effective questions!

Let’s take a look at the question from this student in the group. How do you think I should answer it?

First: the question must have cause and effect, you directly screenshot an error area just let the other party guess what problem you have encountered, ordinary people do not have that leisure.

Second: the question must be illustrated and text set to speak clearly, if the text and text does not correspond to the other party will only be a confused melon and giggle

Third: if a new area is involved, even if you are in a hurry to use it, you should at least be able to understand it. You didn’t use it I don’t know, yeah, yeah I was spitting blood.

As for how to ask questions, this topic has appeared very early, and there are many big cattle reply more professional than me.

I recommend how-to-ask-question-the-smart-way

Github.com/tvvocold/Ho…

Conclusion:

Just to clarify, I’ve been here since I was a rookie, and I know what it’s like to feel helpless. Especially in the rush to meet their own blind spots or technical difficulties. I understand the rush. But at that time, you have to stay calm. If there is a problem, it can be solved. But many problems may not be solved for a while, so we can also think of ways to get around it. Either way, it’s gonna work out or it’s gonna work out

Over the years, many of my questions have been laughed at or laughed at by others (dog heads), but I am willing to answer the questions in the end, because the sense of identity after helping others solve problems is the power to promote my knowledge input

If you like this article, you are welcome to pay attention to the wechat public account of Northwest Zongzi, and continue to update 1-2 original content every week. We can learn and make trouble together on the way of work and life. Code words are not easy to like

The spread of

I participated in an e-commerce open source project, which regularly updated functions and bug optimization every month. Access stamp here