Tổng hợp những điều cần lưu ý cho những người mới đến DNH

LTS: DNH đón rất nhiều new user và câu hỏi mới mỗi ngày. Điều khiến admin, các mod và các bạn khác quan ngại chính là vì newbie không tuân thủ những quy định của DNH: câu hỏi không rõ ràng, không format code hay thái độ hỏi rất thiếu thiện chí. Ngày hôm nay mình sẽ có 1 số hướng dẫn chung để tóm tất cả những điểm đáng lưu ý nhất để tình trạng “xấu xí” này sẽ giảm bớt.

1. Tiêu đề câu hỏi

Đây là một trong những vấn đề luôn khiến nhiều người đau đầu. Bạn nên nhớ 1 số lưu ý sau:

  • Không đặt câu hỏi có dạng:
  • "Cứu em, help help" -> vừa rồi có 1 thanh niên đặt câu hỏi có dạng như thê này và bị ném sỏi, bị flag và bị close cả topic. Cực kì tránh đặt câu hỏi kiểu này vì nhìn trông mất thiện cảm vô cùng. Người ta thấy câu hỏi của bạn, tức là người ta biết bạn có vấn đề còn khúc mắc; hãy đặt ngay vào vấn đề chứ đừng khơi khơi bên ngoài “cứu em”. Nghiên cứu đã chứng minh rằng những người có câu hỏi trực tiếp vào vấn đề sẽ có 80% cơ hội tìm được câu trả lời hữu ích, còn những câu kêu cứu sẽ có 100% cơ hội ăn sỏi, ăn gạch, ăn flag đủ xây 1 bức tường thành to như Vạn Lý Trường Thành.

  • "Cho em hỏi cái này/Giúp em cái này/Hỏi tí/…" -> Đặt câu hỏi kiểu này có nguy cơ mốc topic rất cao vì chả ai muốn giúp những thanh niên đặt những câu hỏi chả có tí tâm nào (dù người hỏi đang khát khao có câu trả lời nhưng cách đặt câu hỏi kiểu này cũng khiến người đọc ngao ngán)

  • Hỏi bài: chụp đề, up đề nhờ làm hộ -> Nghiêm cấm luôn, ai vi phạm thì liệu mà đi làm thợ xây thành.

  • Nhờ soi lỗi hộ: Hãy học cách debug code, nếu không debug nổi hãy hỏi.
    Về cách học debug code hiệu quả:

    • search google “how to debug code + tên IDE”
    • cách “nông dân” hơn, hãy in ra những dòng vô nghĩa như “emyeumautim” hay tất cả những biến đang hoạt động ở bất cứ dòng nào bạn nghi ngờ sai. Đến bây giờ mình vẫn là “nông dân debug code” =))
  • Làm nổi bật vấn đề bạn đang muốn hỏi: Công thức chung là “tên lỗi” + … + “tên framework/lệnh/…” + … + “tên ngôn ngữ”.

1.1. Đặt một câu hỏi “tốt”

  • Làm thế nào để đặt câu hỏi thu hút: vào đây
  • Up đề (mục đích code), code của bạn và error log. Tránh tình trạng up đề nhưng không up thêm thông tin gì khác, khiến mọi người rất vất vả mới được “chiêm ngưỡng” code và lỗi của các bạn.
  • Thái độ chỉ dẫn câu hỏi tốt: tức là bạn miêu tả câu hỏi của bạn một cách đầy rõ ràng, tránh up mỗi câu hỏi và sau đó không bao giờ quay lại xem đáp án.
  • Đặt toàn bộ nội dung câu hỏi của bạn vào phần miêu tả topic. Tránh đề ở topic, rồi 2, 3 cmt nữa up code & error log.
  • Hãy cho biết bạn mong muốn điều gì ở code của bạn. Hạn chế up câu hỏi “code em ra không như mong muốn” mà chả ai biết mong muốn của bạn là gì.

2. Đặt tag và category phù hợp

  • tag: chính là ngôn ngữ lập trình mà bạn đang hỏi. Ngoài ra còn có các tag như algorithm (thuật toán), linux,… tuỳ vào câu hỏi của bạn. Cố gắng để topic của bạn có tag để mọi người biết đường mà giúp bạn, ít nhất là những người biết Python thấy tag Python mà đọc, chứ ngôn ngữ Java mà đánh tag Python thì…
  • category: Hỏi code/ngôn ngữ/thuật toán thì #programming, hệ điều hành thì #randomq, hỏi về nghề nghiệp/tài liệu thì #dev-chat. Nên có category.

3. Up code

Chuyện up code mà không format lúc nào cũng xảy ra trên DNH. Đa số là các bạn không quen với chuyện format code, thế nên chuyện nhắc nhở format code xảy ra như cơm bữa. Để tránh cho các bạn tránh bị nhắc nhở, hay bị flag, close, ban,… mình có một số tip cho các bạn:

  • Format code bằng markdown: Đẹp, tiện dụng nhưng còn khá xa lạ với nhiều bạn. Với đoạn code này:
// code bài tập của mình, xấu lắm đừng nhìn
#include <bits/stdc++.h>
#define ll long long
using namespace std;

const int LIM = 1000000 + 9;

int n;
vector<ll> mi, ze, pl;
ll ans = 0LL;

int main() {
	cin >> n;
	for (int i=0; i<n; i++) {
		ll p; cin >> p;
		if (p < 0) mi.push_back(p); else
		if (p > 0) pl.push_back(p); else ze.push_back(p);
	}
	sort(mi.begin(), mi.end());
	sort(pl.begin(), pl.end());

	for (int i=0; i<n; i++) ans += a[i] * (ll)(i+1);
	cout << ans << endl;
}

nếu mà copy ra raw text thì xấu kinh hoàng, chả có indent mà cũng chả ai hiểu bạn code cái gì, khiến người khác khó chịu vô cùng. Chỉ với một động tác thêm 3 dấu ` (dấu bên cạnh số 1 trên bàn phím to) vào đầu code và cuối code và thêm tên ngôn ngữ vào bên cạnh 3 dấu đó ở đầu, như

```cpp
cout << endl;

(lưu ý, bạn thêm vào đầu và cuối phần code mà bạn up lên DNH, không phải là vào code của bạn trên IDE) là bọn mình đã đỡ tốn calo nhắc nhở các bạn rồi, mà như vậy sẽ có nhiều người nhìn thấy code của bạn một cách dễ chịu hơn, dễ dàng nhìn thấy lỗi của các bạn.

-> Lưu ý: Up code nhớ indent tử tế.
-> Link cho những người muốn biết markdown là gì: đây

  • Format code dùng thẻ : có vẻ quen thuộc với các bạn hơn. Chỉ cần thêm `[code]` vào đầu và `` vào cuối code.

  • Cách nhàn thây: Up lên những trang chia sẻ code: ideone, pastebin,…

Còn cách nào khác, các bạn cứ chia sẻ nhé!

4. Search topic trước khi hỏi

Trên DNH có rất nhiều câu hỏi trùng nhau, đặt đi đặt lại cả nhiều lần đến mức nhiều người phát chán khi nhìn thấy những câu hỏi dạng đó. Chỉ cần bỏ ra 1s để ngó đến cái nút search và vài phút để tìm có câu hỏi nào trùng với câu hỏi mình định đặt hay không; các bạn đã giúp giảm bớt phần ức chế cho những người khác, mà quan trọng nhất là tìm được câu trả lời cho thắc mắc của mình luôn =))
Cận cảnh nút search (nút search rất tử tế, bạn lội đi đâu trên DNH cũng có nó xuất hiện):

Nhớ là đừng tìm câu hỏi “Giúp em với” nhé.

5. Up ảnh

Có lẽ phần này không quan trọng lắm, nhưng các bạn vẫn nên nhớ:

  • Khi up ảnh chụp toàn/1 phần màn hình máy tính:
    • Máy tính có nút Print Screen (PrtSc): trừ khi các bạn chụp màn hình DOS thì hãy dùng cái nút Print Screen. Đừng lấy điện thoại ra chụp code/error log rồi up lên DNH, nhìn đau mắt lắm @@
    • Chụp rõ phần nào cần hỏi: tránh tình trạng up ảnh lên xong không nhìn được chữ phần error/console vì chữ vừa nhạt vừa bé.
  • Chụp ảnh, chữ trên giấy: chụp rõ (nhất là chữ) là được.

6. Về các vấn đề khác

  • Về cái thanh nho nhỏ trên phần đăng topic/post của bạn:

    Nhớ vài nút quan trọng sau:
    • Nút thứ 4, trông giống cái xích: Dẫn link vào topic/post.
    • Nút thứ 7, có mũi tên chỉ lên: Up ảnh vào topic/post.
  • Quote post: bôi đen phần bạn muốn quote, ấn vào nút Quote là xong.
  • Cách cmt tốt:
    • Up code có format.
    • Thái độ cmt tốt: thể hiện tinh thần học hỏi, không tự ái khi người khác chỉ ra lỗi sai của mình.
    • Đừng cmt như facebook: nếu cmt của bạn trả lời cho nhiều người thì viết duy nhất 1 cmttag đầy đủ những người bạn cần trả lời. Bạn cmt như facebook sẽ làm topic loãng và người xem sẽ không thể tập trung vào các post.
    • Đừng cmt xin nick facebook/skype nếu bạn còn những khúc mắc khác: DNH không phải là nơi để giúp bạn giải đáp thắc mắc sao?
  • Không nên inbox một người nào đó để hỏi bài: vẫn vì lí do ở câu trên.

Tạm thời mình mới nghĩ được đến đây. Nếu có thắc mắc hay góp ý nào hãy cmt vào cuối post.

UPD:

  • Đã sửa theo góp ý của @frostphantom
  • Thêm link Markdown Tutorial.
  • Thêm thái độ khi cmt.
8 Likes

Giờ ai vi phạm thì dẫn link đến topic này luôn !!!

1 Like

Bạn có góp ý nào cho topic này không?

M thâý khá đủ những vấn đề thường gập của newbie rồi. :smiley:

2 Likes

topic này nên là wiki
sau 3 dấu ` nên có tên ngôn ngữ

1 Like

Khi nào lên mod thì bạn cho thêm phần hình phạt vào trên cùng bài này để newbie còn thấy :smile_cat:

1 Like

Hình như chi tiết hơn FAQ tí, anh @ltd có thể thì code thêm sau khi thành viên đăng kí thì xuất hiện popup trỏ tới cách xài markdown hay FAQ :joy: không biết DNH có chưa, đăng kí lâu quá roài nên không nhớ
@sueruan012 thánh like dạo nhiệt tình quá thể nhỉ ? :grimacing:

Anh nên coi đây là lời khen hay là chê đây @@
Đang hè, ngoài học tiếng Anh ra thì chả có việc gì làm :smile: à còn project nhưng đang bỏ xó…

Comment cho ng ta biết mình đã Hiện Hình về Dạy Nhau Học

2 Likes


Thây bên reddit nó pin bài này lên top (mình cũng nên pin thread này lên top luôn đi), anh em vào tham khảo thứ :wink:

2 Likes

;_; Cảm thấy bị bỏ rơi
https://github.com/drgnz/DNHWiki

4 Likes

Thanh niên like dạo :))

2 Likes

Đừng buồn mà…
ơ 20 char

:))) có buồn đầu.
TRanh thủ nhá lại hàng cũ thôi.

HK Boy xong cái về Algorithm hồi nào nói sẽ tổng hợp và pull request chưa vậy =))

1 Like

=)) nhớ ghê
mình mải học rồi quên mất :frowning:

Mình tìm hoài mà không thấy cái hướng dẫn nào bày cách gõ công thức toán học ở trên diễn đàn, ai biết chỉ mình với.

DNH ko hỗ trợ nhé :kissing:

5 Likes

:slight_smile: bảo sao tìm hoải không thấy.

vào đỡ: https://latex.codecogs.com/eqneditor/editor.php
rồi right-click vô cái hình kết quả, Copy image, rồi qua dnh Ctrl+V là được :V

3 Likes

:v, vừa định làm thế ở thread tổ hợp ấy, mà thấy cùi quá . haha

83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?