Skip to content

neihousaigaai/DNHWiki

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Wiki hướng dẫn người mới cho diễn đàn DNH

Bài viết này được dịch có bổ sung và chỉnh sửa từ Wiki của subreddit \r\learnprogramming bởi thành viên drgnz! Mọi đóng góp của các bạn luôn được hoan nghênh!

Mục lục

Giới thiệu

Chào mừng tới Dạy Nhau Học hay thường được gọi tắt là DNH, Ở DNH, mọi người có thể đặt gần như toàn bộ các câu hỏi liên quan trực tiếp tới lập trình, đời sống của lập trình viên hay đến những chuyện trên trời dưới đất, tán gẫu, tâm sự linh tinh. Tuy nhiên ở DNH không chấp nhận những câu hỏi liên quan tới chính trị, tình dục, xúc phạm người khác. Để rõ hơn thì các bạn hãy xem DNH Guideline được soạn sẵn. Ngoài ra, DNH cũng sẽ không chào đón những câu hỏi đã được giải đáp kỹ trong phần FAQ (Những câu hỏi hay hỏi). Những topic vi phạm sẽ bị đóng topic và xóa khỏi diễn đàn nên mọi người hãy để ý và đặt câu hỏi cho đúng.

Đặt câu hỏi như thế nào cho đúng?

Quy định nhỏ khi viết một bài viết:

  • Xem phần FAQ xem có câu hỏi của mình chưa, và nếu rồi xem câu trả lời có đủ chưa. Nếu chưa, bạn có thể tạo topic mới và đưa ra cái còn thiếu trong phần FAQ.
  • Đảm bảo là tiêu đề của mình dễ hiểu cho mọi người. Một tựa đề hay cũng giúp bạn thu hút người khác giúp đỡ!
  • Đảm bảo bài viết phải được chỉnh sửa sao cho dễ đọc, dễ nhìn. Và khuyên các bạn chỉnh sửa lại theo Markdown của DNH.
  • Post code thay vì hình chụp để người giúp đỡ dễ copy code hơn. Và nếu được nên chĩ rõ sai dòng nào, đoạn code nào để người giúp đỡ có thể tiếp cận vấn đề nhanh hơn.
  • Đánh dấu những câu trả lời hay hoặc những câu trả lời giúp bạn giải đáp thắc mắc để người khác có thể học hỏi.
  • Nếu tự tìm ra lời giải, hãy post lời giải của mình vào và đánh dấu là đã giải được.
  • Đặt catalog và tag cho từng bài viết để nhằm dễ phân loại
  • Không dùng ngôn ngữ teen, tiếng việt không dấu hay những lời van xin cầu cứu như "Làm ơn", "Giúp em với", ...
  • Cố gắng tìm ra cách giải quyết vấn đề cần hỏi trước khi đặt câu hỏi
  • Cung cấp thông tin cho bài viết càng nhiều càng tốt

Ví dụ:

Tiêu đề đúng:

Tiêu đề sai:

Ngoài ra tuyệt đối không chép code rồi nhờ giải thích toàn bộ code, nhờ chỉnh sửa lỗi trong code lấy trên mạng, nhờ code giùm, nhờ làm bài giùm hoặc dẫn link từ một nơi khác rồi nhờ giúp đỡ. Những bài viết như kể trên sẽ bị close ngay lập tức!

TÌM KIẾM TRƯỚC KHI POST, DNH không phải nơi giải đáp những câu hỏi đầy rẫy trên Google, Bing, Yahoo! Search, ... Vậy nên hãy đảm bảo rằng các bạn đã tìm kiếm trước khi đặt một câu hỏi hay lập một bài viết mới. Đơn giản bạn cứ nghĩ thế này, bạn không bỏ thời gian ra để chỉ tìm kiếm một câu trả lời cho bạn thì ai sẽ đủ thời gian trả lời sự lười biếng của bạn?

Trong trường hợp nếu câu hỏi của bạn dù tìm kiếm mà không ra giải đáp, hoặc do bạn tự nghiên cứu ra; thì trong bài viết hãy chỉ rõ ra những cái gì bạn đã tìm được cũng như làm được, làm tới đâu và kẹt chỗ nào. Nếu có dính liền tới code thì nên đưa code lên cho mọi người dễ dàng đọc code và giúp đỡ. Có nhiều trường hợp nhờ giúp, nhưng code lại không được công khai ra thì các bạn có thể đưa mã giả ý tưởng phần nhỏ của dự án đang làm để mọi người dễ hình dung hơn.

Nói kỹ hơn về việc cung cấp thông tin cho bài viết. Để cho muốn được giải đáp nhanh, bạn nên cung cấp thông tin rõ cho người đọc. Càng nhiều thông tin, người giúp đỡ sẽ dễ dàng tiếp cận câu hỏi của bạn và đưa ra câu trả lời nhanh chóng hơn. Sau đây là một vài gợi ý giúp bạn đưa ra thông tin hữu ích cho bài viết:

  • Nếu câu hỏi là về lập trình
    1. Đề bài hoặc mục đích của đoạn code bạn đang hiện thực. Chức năng gì, input và output như thế nào.
    2. Bạn đang gặp vấn đề gì? Lỗi gì? Ghi rõ tên lỗi bạn biết được!
    3. Chương trình của bạn chạy sai so với đề yêu cầu như thế nào?
    4. Bạn đã làm được gì trong quá trình sửa lỗi?
  • Nếu là một câu hỏi mang tính chất thảo luận:
    1. Đề tài thảo luận là gì?
    2. Những người khác nghĩ gì về đề tài này
    3. Suy nghĩ của bạn về đề tài này
  • Nếu là một câu hỏi ngẫu nhiên:
    1. Nội dung chính của vấn đề bạn đang gặp (Làm sao hết ế, Làm sao pro như Bill Gates, ...)
    2. Thông tin cần giúp đỡ

Quy định về giúp đỡ bài tập

DNH sẽ và không bao giờ giúp các bạn làm giúp bài tập và nộp cho thầy cô trên trường. Tuy nhiên có những bài tập hay có thể xét vào những câu hỏi hay đáng học hỏi thì có thể cùng nhau thảo luận. Hay có nhiều bài tập đưa ra để cùng nhau giải quyết vấn đề thì những bài tập ấy sẽ được hoan nghênh. Và khi post các bài liên quan tới bài tập, các bạn nên tuân theo những quy định nhỏ sau:

  • Các post liên quan tới bài tập về nhà phải gắn tag homework và ngôn ngữ tương ứng
  • Không hối thúc mọi người giúp đỡ, thảo luận về bài tập
  • Không cần thiết phải post đầy đủ code của toàn bộ project lên. Chỉ post phần cần thiết! Nếu phần cần thiết liên quan toàn bộ project, thì nén toàn bộ project lại và up lên một host nào đó rồi chia sẻ. (Xem thêm hướng dẫn ở dưới)
  • Không được mua bán code, hay code giùm trả tiền cũng như mua chuộc người khác để giải hộ
  • Hãy nhiệt tình
  • Mô tả chi tiết lỗi như phần Cách đặt câu hỏi đã hướng dẫn
  • Đừng ngại mình yếu kém mà giấu đi những cái mình chưa biết.

Đọc thêm:

English:

Hướng dẫn post code và markdown code

Khi đưa code lên DNH, tốt nhất nên đưa lên một đoạn code nhỏ, bao bọc nội dung cần hỏi và chính xác (small, self-contained, correct example).

  • Một đoạn code nhỏ là một đoạn code đủ nhỏ để mô tả hết vấn đề mình cần hỏi.
  • Đoạn code đó nên chạy được dễ dàng, và nếu nó là một khối liền mạch thì nên bổ sung đoạn code đầy đủ.

Nếu làm như trên, thì các bạn chắc chắn sẽ nhận được sự giúp đỡ nhiệt tình nhiều hơn từ DNH. Và thậm chí nhiều khi, khi xác định được đoạn code có lỗi cần giúp đỡ, bạn có thể chợt nhận ra lỗi và tự giải quyết mà không cần trợ giúp nữa. :D

Tiếp tới cách chỉnh lại đinh dạng (format) code cho đẹp. Mình tham gia DNH cũng lâu, nhưng thấy các bạn rất ít chỉnh lại định dạng code, khiến nhiều người đọc code mà không hiểu các bạn đang biết gì vì nó rối quá. Trong DNH có hỗ trợ Markdown, giúp các bạn định dạng lại code vừa gọn gàng mà vừa đẹp; từ đó ai cũng dễ đọc, dễ giúp đỡ hơn.

Cách dùng markdown rất đơn giản, các bạn chỉ cần bôi đen đoạn code và nhấn Ctrl + Shift + C là đoạn code sẽ được định dạng lại rất ngay thẳng; hoặc bỏ 3 dấu ``` vào đầu vào cuối đoạn code.

```
code
```

Tuy nhiên sẽ có vài trường hợp sau khi gặp, mặc dù markdown nhưng vẫn sẽ không được định dạng:

TH1 - Đoạn văn bản và code dính liền nhau như dưới:


(Insert example picture here)

đoạn văn bản ngẫu nhiên
code

Khi gặp TH này, các bạn thêm một dòng trống giữa đoạn văn bản và code là đoạn code sẽ được định dạng

Vd1 - TH1

Thành quả:

VD2 - TH1

TH2 - Nhiều đoạn code dính liền nhau

Nhiều đoạn code dính liền nhau, thường gây ra sẽ định dạng lại thành 1 đoạn code duy nhất. Để sửa lỗi này, bạn chỉ cần chèn vào dòng enter hoặc tốt nhất là một dòng mô tả thêm file / tên đoạn code là sẽ giải quyết được :) VD:

Ví dụ TH3

Nếu code bạn quá dài, mình khuyên các bạn nên sử dụng các website chia sẻ code trực tuyến. Các bạn có thể sử dụng tùy thích website nào cũng được, các bạn có thể tham khảo danh sách dưới đây:

Còn đây là các host giúp chia sẻ file nhanh để cho các bạn có thể upload project lên share cho mọi người:

Vậy là ta xong phần markdown! Các bạn có thể xem thêm bài viết khác của Admin: Hướng dẫn post code markdown

Trả lời câu hỏi như thế nào cho đúng?

Bạn không cần phải là một chuyên gia để trả lời các câu hỏi. Nếu bạn có thể giúp phần nào, thì cứ việc mạnh dạn ghi ra câu trả lời của mình. Tuy nhiên, cũng có vài quy tắc cần tuân theo:

  • Nên dùng Tiếng Anh và Tiếng Việt vì phần lớn thành viên DNH rành 2 ngôn ngữ này.
  • Viết Tiếng Việt CÓ DẤU, không dùng ngôn ngữ teen hay các ký hiệu không phổ biến, khó hiểu.
  • Luôn lịch sự, không đả kích người khác, không đứng ngoài khiêu khích gây tranh cãi. (Xem thêm guideline ở trên có đề cập)
  • Đọc kỹ câu hỏi trước khi trả lời. Có thể hỏi lại chủ topic nếu chưa hiểu kỹ câu hỏi.
  • Nếu trả lời bằng code, đảm bảo code có thể chạy được; và nên comment rõ ràng, chú thích code để tăng tính dễ hiểu
  • Cố gắng hướng dẫn người hỏi giải quyết vấn đề hơn là cung cấp lời giải cho câu hỏi được hỏi một cách trực tiếp, đặc biệt là các câu hỏi đơn giản, hoặc nhờ giải giùm bài tập, liên quan tới bài tập.
  • Nên tìm một cách trả lời chính xác ngay từ đầu. Nếu có sai, nên chỉnh sửa lại hoặc trả lời lại bằng một câu trả lời đúng.
  • Giúp người hỏi sửa lại thông tin sai trong quá trình hỏi đáp cũng như giúp đỡ nhưng người tham gia khác.
  • Nếu có đưa link về một bài viết nào đó, nên đọc sơ qua bài viết ấy để xem có đáp ứng yêu cầu người hỏi không cũng như các câu trả lời có giải đáp được phần nào không. Tránh đưa link xấu, virus, không đủ thông tin và thông tin thiếu chính xác.
  • Không được gắn Quảng cáo, MMO vào bất kỳ link nào!
  • Luôn sẵn sàng trả lời những câu hỏi tiếp theo, vì nhiều lúc có thể bạn hiểu, nhưng khi ghi câu trả lời ra thì có thể người khác đọc không hiểu. Ngoài ra có thể sẽ có những câu hỏi tiếp theo liên quan tới phần bạn trả lời, nên đừng bỏ ngang topic khi người hỏi chưa xác nhận câu trả lời đúng / hiệu quả nhất.
  • Không chế giễu những câu hỏi hiển nhiên hoặc quá dễ hoặc vi phạm nội quy. Thay vào đó hãy hướng dẫn các thành viên có câu hỏi như vậy cách hỏi đúng hơn hoặc các keyword liên quan để tự giải quyết vấn đề.
  • Tránh những câu trả lời cộc lốc, không nhiệt tình, không thật sự giải quyết được vấn đề mà người hỏi đang gặp phải.

Đọc thêm: Answering Technical Questions Helpfully

Những câu hỏi phổ biến, hay được hỏi đều trong mục này!

Tổng hợp các tài liệu lập trình từ cơ bản tới nâng cao được tổng hợp.

Tổng hợp những công cụ lập trình, quản lý source, ...

Cộng đồng lập trình

Danh sách thành viên tham gia:

@drgnz @tuanpt216 @neihousaigaai

About

Dạy Nhau Học Wiki cho thành viên mới

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 3

  •  
  •  
  •  

Languages