5 LOẠI BUG KIỂU GÌ CÁC LẬP TRÌNH VIÊN CŨNG PHẢI GẶP ÍT NHẤT MỘT LẦN TRONG ĐỜI

12-06-2018 13:46

 

Là một lập trình viên thì việc làm quen với bug là một điều tất yếu. Nói một cách đơn giản hơn, một bug có thể được định nghĩa là một lỗi trong một chương trình. Trong quá trình viết code, các lập trình viên không thể tránh khỏi việc mắc phải sai lầm. Các sai lầm này thường được thể hiện dưới dạng bug trong code. Viết code là phần dễ dàng. Bước khó khăn là debug (tức là tìm error hoặc bug trong chương trình). Quá trình này khiến các dev điên đầu vì lại tạo thêm n bug khác thay vì sửa bug hiện tại. Dưới đây là 5 loại bug điển hình mà bất kỳ dev nào cũng gặp phải ít nhất một lần trong đời.

Bug tí hon
Bug này là một loại ‘bọ’ có ‘kích thước’ nhỏ hơn nhiều so với đồng bạn, nhưng để đối phó với loại bug này không phải là một nhiệm vụ dễ dàng. Bạn sẽ nhận được các loại compile error và sau đó có thể tiêu tốn hàng giờ đồng hồ hoặc thâm chí cả ngày trời chỉ để tìm ra đoạn code có vấn đề. Các lỗi như vậy bao gồm việc quên dấu chấm phẩy ‘;’ hoặc các loại dấu ngoặc ‘()’. Trong một vài ngôn ngữ lập trình, ví dụ như Python, bạn có thể gặp các vấn đề như khi thụt lề sai. Các lỗi nhỏ có thể được phát hiện khi sử dụng các IDE phù hợp. Bug tí hon là loại lỗi gây khó chịu nhất trong tất cả các loại vì bạn biết chúng có thể dễ dàng sửa chữa nhưng phải dành cả tuổi thanh xuân chỉ để xác định vị trí của chúng.

Làm thế nào để các coder không ngộp khi học cái mới

10 tài liệu hay về C++ mà bạn đáng phải đọc

5 kỹ năng tạo cơ hội được tăng lương sớm cho các lập trình viên


Bug không tồn tại

Loại bug này thậm chí còn không tồn tại. Vấn đề ở đây là compile error cứ thế mà nhảy ra liên tục dù bạn đã review code lại như thế nào đi chăng nữa. Việc này có thể xảy ra khi trình biên dịch bị lỗi hoặc dùng sai. Bạn có thể bị báo lỗi khi hoàn toàn không có lỗi nào. Các trình biên dịch cũ có thể không hỗ trợ các tính năng mới hiện hành. Bạn cũng nên cập nhật trình biên dịch càng thường xuyên càng tốt. Lời khuyên là: Cần phải chọn trình biên dịch cẩn thận hơn cả khi chọn vợ. Thỉnh thoảng, code của bạn có thể chạy trơn chu nhưng bạn lại được báo lỗi sau khi cập nhật trình biên dịch. Điều này có nghĩa là trình viên dịch chỉ đơn giản hiển thị cho bạn các lỗi đang tồn tại mà trước đó không thể phát hiện được.


Bug khủng

Bạn sẽ gặp các bug này khi code có lỗi cú pháp hoặc là sai chính tả. Các bug như vậy bắt nguồn từ các lỗi thuật toán, logic hoặc lỗi tài nguyên. Lỗi tài nguyên có thể bao gồm việc sử dụng sai loại dữ liệu và vi phạm truy cập. Mỗi ngôn ngữ lập trình sẽ đều có cú pháp riêng và cần được theo dõi tỉ mỉ. Chỉ cần một sai lệch nhẹ có thể làm hỏng mọi thứ. May mắn thay, một trình biên dịch tốt có thể phát hiện ra các lỗi như vậy và cho phép bạn sửa chữa chúng.

Lập trình Python & Odoo Framework với IziSolution

Lập trình CC++ với FPT Software

Lập trình ứng dụng di động Android

Khóa học Kiểm thử phần mềm Tester


Bug ẩn thân

Các lỗi như vậy không bao giờ hiển thị trong trình biên dịch. Chỉ sau khi phần mềm được cài đặt và sử dụng, bạn sẽ bắt đầu thấy các biểu hiện của chúng. Sẽ xảy ra các sự cố và các hoạt động không mong muốn. Trong hầu hết các trường hợp, các bug ẩn nằm ở dạng lỗ hổng khiến cho phần mềm không an toàn và dễ dàng bị hack.

Bug bất ngờ

Là khi bug bất ngờ xuất hiện từ hư không. Code của bạn có thể chạy hoàn hảo ngay hôm nay. Nhưng bằng cách nào đó, nó sẽ không hoạt động tốt vào ngày hôm sau. Nó sẽ khiến cho bạn đặt ra câu hỏi liệu có ai đó đã nghịch code của mình trong khi mình đang ngủ?

Code càng nhiều, bạn lại càng dễ dàng debug. Một số lỗi bạn chỉ cần mất khoảng 5 giây. Nhưng cũng có những lỗi khiến bạn phải tối thời gian là 5 ngày. Hoặc thậm chí có những bug mà có thể cả đời bạn cũng không bao giờ sửa được, buồn thay…Hãy nhớ rằng bạn có thể tạo thêm 5 lỗi trong khi cố sửa 2 bug. Nếu code của bạn hoạt động, có thể bạn đừng đụng gì tới nó nữa thì hơn.

 

Ban Truyền thông ITPlus Academy

Bài viết cùng chủ đề

1