Người mới học lập trình cần biết – Phần 1 – Học lập trình thông qua hỏi đáp

Là một lập trình viên chuyên nghiệp Đạt tích lũy được kinh nghiệm lập trình thông qua nhiều năm tự học và làm việc. Quá trình tự học đó kéo dài, nhưng chung quy lại việc học lập trình bao gồm các quá trình tìm hiểu(1) => thắc mắc(2) => hỏi(3) => thảo luận(4) => hiểu(5) => thực nghiệm(6) => hướng dẫn ngược trở lại(7).

Đối với nhưng người mới học lập trình 1 năm thì việc học sẽ dừng lại ở mức thắc mắc(2) hoặc mức hỏi(3). Ở mức độ thắc mắc(2) nếu người học lập trình bỏ cuộc mà không đi tìm hiểu thì việc học chấm dứt, có nghĩa bạn sẽ không nắm được kiến thức này cho đến lần tìm hiểu tiếp theo. Để có thể nắm được kiến thức bạn phải thực hiện bước (3)hỏi.

Hỏi nghe có vẻ dễ, nhưng nó không hề dễ tí nào. Nếu bạn dạo qua các diễn đàn học lập trình sẽ dễ dàng nhận thấy số câu hỏi nhận được câu trả lời nhỏ hơn số lượng câu hỏi rất nhiều. Tại sao vậy? Đó không phải vì câu hỏi quá khó, lý do là vì người hỏi không biết cách hỏi.

Hỏi khó vậy sao? Đặt một câu hỏi rất khó, thậm chí bạn cần phải tập luyện để có thể đặt một câu hỏi có được câu trả lời. Hôm nay Đạt nhận được một câu hỏi về java và đây là một câu hỏi “tệ” vì tiêu đề không thể hiện được nội dung cần hỏi. Nội dung câu hỏi tương đối đầy đủ nhưng chưa chuyên nghiệp.

Câu hỏi đó là “Vấn đề về String” với nội dung

Em không hiểu câu lệnh này lắm.
Vì sao khi dùng lệnh Scanner thì lúc là nextLine() lúc thì next()
Ai pro java cho mình hỏi nhóe smile

Để làm cho câu hỏi trở nên tốt hơn, thay vì đặt tiêu đề “Vấn đề về String” ta sửa lại thành “Sự khác nhau giữa Scanner.nextLine() và Scanner.next() là gì?”

Việc chuyển một câu phát biểu thành một câu hỏi với dấu “?” kết thúc câu ta đã thể hiện được ý muốn hỏi. Không khó đúng không, nhưng nó cần chú ý và suy luận kỹ trước khi tạo một câu hỏi.

Tiếp theo ta nói về nội dung. Nội dung câu hỏi này bị thừa. Về bản chất ta chỉ cần viết

Vì sao khi dùng lệnh Scanner thì lúc là nextLine() lúc thì next()

Nhưng để cho nội dung rõ ràng hơn, ta nên sửa lại như sau

Vì sao class Scanner lại cần tới hai hàm nextLine() và next()? Hai hàm này khác nhau như thế nào, nếu được thì có thể cho mình ví dụ về cách sử dụng không? Cảm ơn.

Những việc cần kiểm tra lại trước khi đặt câu hỏi:
– Liệu tiêu đề có thể hiện được nội dung cần hỏi?
– Tiêu đề có dài quá hay thừa chữ không?
– Tiêu đề có phải là câu hỏi không?
– Nội dung có đề cập được thắc mắc không?
– Nội dung có dư thừa hay thiếu thông tin không?
– Việc cảm ơn trong câu hỏi không bắt buộc, có thể có có thể không.
– Nội dung nên chú trọng đến việc hỏi, tránh đề cập các thông tin không liên quan.

Tham khảo thêm về câu hỏi được nhắc tới trong bài ở đây:
http://daynhauhoc.com/t/s-khac-nhau-gi-a-scanner-nextline-va-scanner-next-la-gi/1466

Cảm ơn thienpp12 về câu hỏi nhé.

1 thought on “Người mới học lập trình cần biết – Phần 1 – Học lập trình thông qua hỏi đáp

  1. Pingback: Người mới học lập trình cần biết – Phần 2 – Học lập trình thông qua thảo luận | trandatnh

Leave a comment