Tong Hoang Vu
Tong Hoang Vu's blog

Tong Hoang Vu's blog

Ba "bệnh" thường gặp khi mới học lập trình

Ba "bệnh" thường gặp khi mới học lập trình

Tong Hoang Vu's photo
Tong Hoang Vu
·Jun 13, 2021·

5 min read

Subscribe to my newsletter and never miss my upcoming articles

Nằm vùng ở forum Dạy nhau học được thời gian khá lâu rồi, mình đã thấy rất nhiều câu hỏi của các bạn newbie, đủ mọi thể loại. Trong đó mình (và kha khá thành viên khác) cực kì dị ứng với những câu hỏi "thiếu não", "giải bài hộ",... từ các bạn ý. Thực sự xem nhiều thành quen anh chị ạ, hôm nay khó chịu trong người sao ấy nên mới viết ra post này.

Có thể đây sẽ là bài bắt đầu cho một chuỗi series về những "thói xấu" của các bạn newbie khi đến với ngành. Mình không có ý đánh đồng tất cả newbie (vì mình cũng từng như vậy), chỉ hi vọng các bạn ý đọc được post này sẽ nhận ra và rút kinh nghiệm thôi.

1. Thiếu khả năng trình bày

image.png

Ví dụ đầu tiên là một câu hỏi bên diễn đàn Dạy nhau học. Bạn này viết code nhưng gặp vấn đề, code không chạy nên đăng bài hỏi.

Cảm nghĩ đầu tiên khi đọc câu hỏi là "chả hiểu cái gì hết". Lại thêm cả đống code đó (chắc mẩm tầm hơn trăm dòng) mà xem hết thì nản thật sự. Lúc đầu em bơ luôn, cơ mà do em cứ rảnh là lướt Facebook với Dạy nhau học, nên post đó tính ra là đọc lại đến lần thứ 3 rồi.

Phân tích kĩ hơn, câu hỏi của bạn ý có vài vấn đề:

  • Code nhiều và rối, không biết sai chỗ nào
  • Code có sử dụng đến file, nhưng không nêu cấu trúc file ra sao
  • Bảo lỗi ở hàm Nhap(), nhưng lỗi biên dịch hay runtime, message lỗi là gì (ít nhất cũng cần có screenshot)
  • Nếu lỗi runtime, thì dữ liệu nhập vào là gì mới bị lỗi

Đôi khi mình cũng muốn giúp các bạn newbie sửa lỗi, nhưng thực sự với các câu hỏi từa tựa thế này thì bó tay thôi. Cách trình bày thực sự có vấn đề.

Bài học rút ra ở đây, là khi có vấn đề cần giúp đỡ, hãy trình bày thật chi tiết. Lỗi máy tính thì chụp màn hình báo lỗi, ghi lại thông báo lỗi, mô tả đang làm gì thì bị lỗi,... Code cũng vậy, khi báo lỗi thì luôn có message, ghi lại hoặc chụp màn hình. Mô tả thật chi tiết sao cho người kia có thể giúp đỡ được (đôi khi nhờ các bạn cung cấp thêm thông tin cũng ngại lắm chứ bộ 😂)

2. Thiếu óc thẩm mỹ

Viết đến đây mình chợt nhớ ra "bệnh" này còn chia làm 2 loại nữa các bác ạ. Em xin chia ra hai phần từ đây.

2.1. Code tởm

xu-nu.png

Cung hoàng đạo của mình là Xử Nữ, và các bạn cũng biết đặc trưng của cung này là tính cầu toàn. Khi vào ngành lập trình, sự cầu toàn cũng thể hiện rõ qua các dòng code viết ra. Code luôn phải clean, phải chuẩn "vở sạch chữ đẹp" (cơ mà chữ viết của tui xấu thiệt sự).

Bạn nào không tin mình mở code viết từ năm cấp 3 ra cho xem 😁

Với tớ, code càng đẹp càng thể hiện người viết nó có trình độ, chăm chút và tỉ mỉ. Viết code đẹp giúp bạn luôn happy khi nhìn lại nó (ngược lại khi nhìn vào đống rác). Và khi code đẹp, bạn sẽ cảm thấy yêu code hơn, thích code nhiều nhiều hơn nữa.

Có chắc đẹp là đây?

typedef struct sinhvien{

        FILE *pvsv;
        FILE *pvhp;
        FILE *pvd;
        sv dlsv(sv a);
        hp dlhp(hp b);
        diemthi dld(diemthi c);
};
////////////--------------
int k=1;
     sv a;
     FILE pvsv=fopen("SV.txt","wb");
          if(pvsv=forpen ("SV.BIN","wb")=NULL)
     printf(" Khong tao duoc File SV.BIN ");
else 
{
while(k)
{
      printf(" Nhap vao cac sinh vien can quan li vao:");
      printf(" Ten sinh vien la: ");
          gets(a.name);
 if(a.name[0]=='\0')
 break;
      a=dlsv(a);
        fwrite(&a,sizeof(sv),1,pvsv);
};
    fclose(fpt);
};
};

Vậy thế nào là đẹp? Ừ thì mỗi người mỗi khác, không ai ép buộc ai cả, nhưng chung quy lại phải rõ ràng, rành mạch như viết văn vậy:

  • Hết một đoạn văn phải xuống dòng, code hết một đoạn thì Enter thêm phát nữa cho nó tách ra (thế là đẹp)
  • Sau dấu phẩy thì cách ra (chả ai làm ngược lại ,cả). Cách đặt ngoặc, viết hoa,... trong code khá tương đồng với khi gõ văn bản.
  • Đẹp là sự nhất quán (lão làng lập trình cũng bảo thế nhé). Nhất quán trong cách đặt tên, số lượng khoảng trắng, chỗ nào nên tab vào, chỗ nào nên xuống dòng,... trong một chương trình tất cả đều phải thống nhất với nhau.
  • Và đôi khi, viết đúng cú pháp ngôn ngữ đã là đẹp rồi.

Do đó với newbie, hãy tập dần thói quen viết code đẹp từ những điều nhỏ nhặt nhất. Làm xong bài tập code rồi, hãy xem lại nó một lượt, coi có chỗ nào không vừa mắt không, rồi chỉnh sao cho đẹp. Hãy thử đi, bạn sẽ bất ngờ vì lợi ích nó mang lại đấy 😘

2.2. Post tởm

Phần này đơn giản thôi, không nói đâu sâu xa, xem ví dụ này là hiểu thôi.

image.png

Thực sự bực mình khi đọc post này. Title ngắn và body dài, đơn giản quá mà. Sao lại cứ cố nhét thật nhiều thông tin vào tiêu đề làm chi?

Loại này có một biến thể khác, là viết IN HOA tất cả chữ trong tiêu đề. Thường thấy ở các bài viết chia sẻ, học thuật. Mình không biết sao, hẳn là viết vậy dễ thu hút reader hơn. Riêng cá nhân mình thì vẫn thích viết có hoa có thường hơn, trông thẩm mỹ mà gọn gàng, đọc đỡ nhức mắt nữa.


Okay bài viết hôm nay của tui đến đây thôi. Hi vọng nhận được ít gạch đá qua đường để xây blog. Nếu bạn thấy tui viết hay, hoặc có "đối tượng" cần đến nó, đừng ngại ngần chia sẻ nhé. Thank you and happy coding.

 
Share this