当前位置:网站首页>Why do novices often fail to answer questions in the programming community, and even get ridiculed?
Why do novices often fail to answer questions in the programming community, and even get ridiculed?
2022-07-06 20:19:00 【Crossin's programming classroom】
Zero basis python Introductory tutorial :python666.cn
Hello everyone , Welcome to Crossin Programming classroom of !
Learning programming will inevitably encounter problems , If you encounter problems, you need to go online for help . However, many students complained to me , say No one answers questions on the Internet , Some also received some unfriendly replies . I myself have witnessed similar posts on regular forums . So that someone said , The programmer community is just not friendly to newcomers , Unwilling to help new people , It's even afraid that others will learn to grab jobs .
I want to correct my name , Programmers are mostly simple , And this may be The most sharing group on the planet . But in this full of reason 、 In the group of logic supremacy , Has its own set of rules . When a person who doesn't know the rules appears in the Group , Often be “ Teach to be a man ”.
If you have encountered such a problem , Or plan to grow up in the programming community in the future , Please be sure to look at what I'm going to say next :
How to correctly ask questions in the programming community ?
Most of the questions that can't be answered satisfactorily or even cause dissatisfaction , It is the problem itself . I have answered questions on the Internet for so many years , It is often deeply troubled . Ask a good question , For the questioner and the respondent , It helps a lot .
Preparation before questioning
Before you go online for help , Ask yourself first 2 A question :
I Search for Have you ?
I Check Have you ?
Learn programming , You're not alone . Almost all the pits you encounter , Have been trampled by predecessors , Search and you will find the answer . All kinds of documents 、 The content in the tutorial will also be included in the web page results . The key to search is how to describe the problem , So learn to read the newspaper wrong , Can find the key information in the error report . More search tips , Please refer to the previous article 《 Programming beginners how to use search engines 》.
There are two words in programming :RTFM、STFW, I won't explain the meaning , Leave it to yourself . When you see someone reply to similar words under your question , Think about whether you have searched .
If you can't find your problem online , There are several possibilities :
Keywords are not selected accurately ;
You do have a special situation ;
You made some low-level mistakes . For beginners ,3 More likely . So please check yourself , Is the word spelled correctly 、 Punctuation is not English 、 Indent the space, right 、 Whether the brackets and quotation marks are in pairs 、 Is the file path correct ……
Exclude low-level errors , You should also position your mistakes , Try to narrow the scope , Add necessary output . This will also greatly facilitate the respondent when asking questions . And I often tell people , When you output all the necessary values and see clearly , Usually the problem is obvious . About debug The technique of , Refer to the previous article 《 Development 5 minute , debugging 2 Hours - What's your problem ?》.
The content of the question
A good question , Should be accuracy 、 Specifically 、 concise 、 complete , That is, we should clearly express the information involved in the problem , Don't mix irrelevant noise .
say concretely , These kinds of information should usually be included :
The manifestation of the problem
platform and edition
Output Error message
Relevant part Code
It's better to attach your Screen capture ( Avoid mistakes you don't realize ) And the intermediate variable Output ( Convenient for respondents , It also shows that you have tried ).
In particular, the attached code . For beginners , best At the same time, provide screenshots and code text , The screenshot shows the real situation on the computer , Words are convenient for others to reproduce . If your code is short , Just send it all ; If it is a project with many code files , Please make a preliminary positioning first , Send only the code of key parts .
If you are in the Forum 、 Post on the Q & a website , It's important to choose a good title . Briefly describe the problem clearly in the title Far better than “ For help ! Online, etc. ! Urgent ” This meaningless Title .
The form of questioning
When asking questions , Choose The right place , Say the right thing .
For example, you ask beginners questions in an advanced forum , They are often excluded . The reverse is not appropriate . It's a pity that , In programming , Advanced 、 More in-depth forums , There are fewer beginner forums . So if you want to , Welcome to bbs.crossincode.com Ask questions , Of course, don't forget the points mentioned above .
As for what is appropriate , This is difficult to grasp . in general , Politeness is always good , No one wants to answer arrogance 、 Rude questions . But sometimes , Efficiency is more important than politeness . such as StackOverflow No greeting 、 thank , Because it will bring invalid information . You just need to describe the problem accurately 、 Adopt excellent answers . Again , When you ask someone a question , Directly explain the problem locally , Never say “ Hello , are you there ?”, Wait until you reply “ May I ask you a question ?” Leave a message like this . Maybe you think it's polite , But for others , Things that can be answered once , Dragged into hours , Maybe I don't care about you at all .
And when the problem you posted online is finally solved , Attach the solution description to the problem , According to community rules Adopt / give the thumbs-up Useful answers , It is a recommended practice . For the respondent , This is more polite than a verbal compliment .
Taboo of asking questions
It says some suggestions , If you don't understand , So remember , Don't ask questions like this :
Problems that can be solved in one step . such as “Python How to read the contents of a file in ?”
X-Y problem . So-called X-Y problem , Is that you have to solve X problem , You think you can use Y The solution , Then you ask how to achieve Y, But in fact X There is a more suitable solution to the problem . such as “ How do I get the back of a string 3 position ?”, In fact, what he wants to solve is “ How to get the file type of a file ?”
General and abstract problems . such as “ Can I learn to Python?”. This question is frequently asked , But this should not ask others , Ask yourself .
Don't guess the reason , Even claimed to be someone else's code bug. You need to objectively describe and analyze the problem . such as “ I lose more than 10 A large number is wrong , Is it right? Python There is a problem on my computer ?”
Don't confuse multiple problems , Distinguish cause and effect . It is normal for the code to have more than one error , If someone else's method makes your error report change , It shows that it has played a role in the previous problem , This situation needs further analysis , Instead of immediately replying “ It still can't be changed according to your method ”.( This is really impolite , It will make the respondent no longer want to talk to you )
In an open forum 、 Discussion groups 、 Q & a website , As far as possible Don't send private messages 、 add friends The way to ask questions .( in fact , This approach is mostly ineffective )
Don't expect others to debug for you bug、 homework 、 Development .
One An example of a bad problem :
Who knows Python Help me see what the problem is ?
( A screenshot of dozens of lines of code )
An example of a good problem :
My program compares the size of input and variables , The result is wrong , Please tell me why ?
I am a Python3
Report errors :TypeError: '<' not supported between instances of 'int' and 'str'
( Code + Screenshot of output 、 Code text )
An example of a better problem :
My program compares the size of input and variables , The result is wrong , Please tell me why ?
I am a Windows Under the Python 3.7
Report errors :TypeError: '<' not supported between instances of 'int' and 'str'
The tip is 11 That's ok :if answer < num:
I added... To the front print, Both variables have values .
( Code + Screenshot of output 、 Code text )
The essence of questioning is still thinking . If you can ask a good question , It must be the result of thinking about the problem . This is also an exercise for you . Ask questions directly without thinking , Both wasted the opportunity to exercise , It is also difficult to get a satisfactory reply .
On the other hand , There is no such thing as a free lunch ( There may be , But someone must have paid ), Don't take others' answers for granted . therefore Please respect the labor of others , And try to make others happy to answer you . Don't ask bad questions Is the most basic requirement .
Said so much , Don't let it stop you from asking questions . What to ask is still to ask , Dare to ask questions and discuss , Even on StackOverflow Wait for English website to ask . Otherwise, how to improve yourself ? Not only ask , And answer ,“ teach ” It's the best “ learn ”. When you can explain something clearly to others , You really understand it . It has given back to the community , I've improved myself , Why not ?
Crossin Good questions are always welcome in our programming classroom .
Last , There is a classic article on programming , I recommend it to you :
How To Ask Questions The Smart Way
http://www.catb.org/~esr/faqs/smart-questions.html
【 Chinese version 】 The wisdom of asking questions
https://github.com/FredWe/How-To-Ask-Questions-The-Smart-Way/blob/master/README-zh_CN.md
PS: Content of this article , Not only for programming .
thank forward and give the thumbs-up The fellow ~
_ Previous articles are recommended _
What programming does a child learn ?
If you need to know Paid premium courses And Teaching Q & a service
Please be there. Crossin Programming classroom of Internal reply : 666
边栏推荐
- Special topic of rotor position estimation of permanent magnet synchronous motor -- Summary of position estimation of fundamental wave model
- Guangzhou's first data security summit will open in Baiyun District
- 【计网】第三章 数据链路层(4)局域网、以太网、无线局域网、VLAN
- SSH connection denied
- Tencent byte Alibaba Xiaomi jd.com offer got a soft hand, and the teacher said it was great
- JVM_ Common [interview questions]
- 5. 無線體內納米網:十大“可行嗎?”問題
- 02 basic introduction - data package expansion
- JS implementation force deduction 71 question simplified path
- Tencent byte and other big companies interview real questions summary, Netease architects in-depth explanation of Android Development
猜你喜欢
腾讯安卓开发面试,android开发的基础知识
PowerPivot - DAX (first time)
腾讯T4架构师,android面试基础
Special topic of rotor position estimation of permanent magnet synchronous motor -- fundamental wave model and rotor position angle
Standardized QCI characteristics
[Yann Lecun likes the red stone neural network made by minecraft]
Tencent T3 Daniel will teach you hand-in-hand, the internal information of the factory
22-07-05 upload of qiniu cloud storage pictures and user avatars
Basic knowledge of lists
Discussion on beegfs high availability mode
随机推荐
夏志刚介绍
AsyncHandler
Tips for web development: skillfully use ThreadLocal to avoid layer by layer value transmission
Digital triangle model acwing 1018 Minimum toll
Tencent T3 Daniel will teach you hand-in-hand, the internal information of the factory
Leetcode question 283 Move zero
看过很多教程,却依然写不好一个程序,怎么破?
New generation garbage collector ZGC
新一代垃圾回收器—ZGC
青龙面板白屏一键修复
PHP and excel phpexcel
Rhcsa Road
Wonderful coding [hexadecimal conversion]
Speech recognition (ASR) paper selection: talcs: an open source Mandarin English code switching corps and a speech
Cesium Click to draw a circle (dynamically draw a circle)
棋盘左上角到右下角方案数(2)
[cloud lesson] EI lesson 47 Mrs offline data analysis - processing OBS data through Flink
Enumeration gets values based on parameters
Cesium 点击绘制圆形(动态绘制圆形)
Period compression filter