Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add a guide on how to ask a good question #4378

Merged
merged 2 commits into from
May 15, 2024
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
121 changes: 100 additions & 21 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,48 +1,127 @@
# Node.js Help

<p align="center">
<a href="https://nodejs.org/">
<picture>
<source media="(prefers-color-scheme: dark)" srcset="https://nodejs.org/static/logos/nodejsStackedLight.svg">
<img src="https://nodejs.org/static/logos/nodejsStackedDark.svg" width="200px">
</picture>
</a>
<h1 align="center">Help</h1>
</p>

Need help with Node.js? You've come to the right place!
## Welcome to Node.js Help!

Whether you're a beginner or an experienced developer, Node.js Help is here to assist you with all your Node.js questions and concerns.

## Install

Check out [this wiki](https://github.com/nodejs/help/wiki/Installation)
to learn how to install Node.js via binary archive on Linux and AIX.
To install Node.js, check out [this wiki](https://github.com/nodejs/help/wiki/Installation) to learn how to install Node.js via binary archive on Linux and AIX.

## Participate
## How to Ask a Good Question

You can participate by asking or answering open questions present
in the [issues section](https://github.com/nodejs/help/issues).
### 1. **Be Specific**
- **Provide Context:** Explain the background or context of your question. This helps others understand your problem or inquiry better.
- **Avoid Ambiguity:** Clearly state what you're asking about. Vague questions can lead to misunderstandings or irrelevant responses.

#### Note
### 2. **Use Clear Language**
- **Avoid Jargon:** If your question involves technical terms, ensure they are explained or defined.
- **Be Concise:** Keep your question brief and to the point. Long-winded questions can be confusing and may lose the reader's interest.

### 3. **State Your Goal**
- **Clarify Your Objective:** Explain why you're asking the question and what you hope to achieve by getting an answer.
- **Express Your Expectations:** Let others know what kind of answer you're looking for.

### 4. **Provide Relevant Details**
- **Include Relevant Information:** Give details that are pertinent to your question. This could include error messages, steps you've already taken, or relevant background information.
- **Exclude Irrelevant Details:** Avoid cluttering your question with unnecessary information that may distract from the main issue.

### 5. **Be Respectful**
- **Be Polite:** Remember to use polite language and tone, even if you're frustrated or facing challenges.
- **Appreciate Responses:** When someone takes the time to answer your question, thank them for their help, even if the answer doesn't fully solve your problem.

### 6. **Check for Duplicates**
- **Search Before Asking:** Before posting your question, search to see if it has already been asked and answered. Duplicate questions can clutter forums and waste people's time.

### 7. **Format Appropriately**
- **Use Proper Formatting:** If you're asking your question on a platform that supports formatting (like a forum or Q&A site), use formatting to make your question more readable. Use headers, lists, and code blocks as needed.

### 8. **Proofread Your Question**
- **Check for Errors:** Proofread your question before posting to ensure clarity and correctness. Typos or grammar mistakes can make your question harder to understand.

### 9. **Be Open to Feedback**
- **Accept Criticism:** If someone suggests improvements to your question, consider their feedback constructively. It can help you ask better questions in the future.

### 10. **Follow Up**
- **Engage with Responses:** Once you receive answers, engage with them. Ask for clarification if needed, and provide feedback on whether the answers were helpful.

## What to Ask:

### 1. Clear and Specific Questions:
- How can I achieve _\[specific task]_ in my Node.js application?
- What is the best way to handle _\[specific problem]_ in Node.js?
- Can someone help me understand how _\[specific feature]_ in Node.js works?

When inserting your code use 3 backticks, followed by `js` as shown below:
### 2. Troubleshooting Questions:
- I'm encountering _\[specific error]_ when trying to _\[specific action]_. How can I resolve this?
- What could be causing _\[specific behavior]_ in my Node.js code?

![node-js](assets/backtick.png)
### 3. Conceptual Questions:
- Can someone explain the difference between _\[concept A]_ and _\[concept B]_ in Node.js?
- How does _\[specific module or feature]_ in Node.js work under the hood?

## What NOT to Ask:

### 1. General Programming Questions:
- How do I write a for loop in JavaScript?
- What is HTML, and how does it work?

### 2. Personal Debugging:
- Would someone be able to debug my entire Node.js project for me?
- Why isn't my code working? (without providing any specific details or code snippets)

### 3. Unsupported or External Package Issues:
- I need help with a third-party package (not related to Node.js core). Can someone help?
- Why doesn't this external package work in my Node.js project?

### 4. Opinion-Based Questions:
- What is the best Node.js framework?
- Which is better, callback functions or Promises?

### 5. Duplicate Questions:
- I didn't find an answer to my question, but it's similar to this other question. Can someone help me anyway?
- Why hasn't anyone answered my question yet? (without considering it might be a duplicate)

### 6. Requests for Complete Solutions:
- Can someone write the entire code for my project?
- I need help with my homework. Can someone do it for me?

### 7. Unrelated or Off-Topic Questions:
- What's the weather like in New York today?
- Can someone help me with my personal relationship issues?

### 8. Extremely Broad Questions:
- How do I become a Node.js expert?
- What can I do with Node.js?

#### Note

When inserting your code, use 3 backticks, followed by `js` as shown below:
````
```js
console.log('happy coding!');
```
````

It gets rendered as such:
```js
console.log('happy coding!');
```

## Chat
## Participate

You can participate by asking or answering open questions in the [issues section](https://github.com/nodejs/help/issues).

If you would prefer to get help via live chat rather than the issue tracker
in this repository, you can try:
## External Links

* [#nodejs](https://openjs-foundation.slack.com/archives/CK9Q4MB53) channel on the OpenJS Foundation Slack ([join here](https://slack-invite.openjsf.org/))
* [#node.js channel on libera.chat](https://web.libera.chat?channels=node.js&uio=d4)
* [Node.js Slack Community](https://node-js.slack.com/)
* To register: [nodeslackers.com](https://www.nodeslackers.com/)
RedYetiDev marked this conversation as resolved.
Show resolved Hide resolved
- [Node.js Official Website](https://nodejs.org/)
- [Node.js Documentation](https://nodejs.org/docs/latest/api/)
- [Node.js GitHub Repository](https://github.com/nodejs/node)
- [Node.js Slack](https://node-js.slack.com/) *([join here](https://www.nodeslackers.com/))*
- [#nodejs channel](https://openjs-foundation.slack.com/archives/CK9Q4MB53) on the OpenJS Foundation Slack *([join here](https://slack-invite.openjsf.org/))*
- [#node.js channel on libera.chat](https://web.libera.chat?channels=node.js&uio=d4)