Trên thực tế lỗi là gì? bất kỳ quy tắc được xác định trước?
Trên thực tế lỗi là gì? bất kỳ quy tắc được xác định trước?
Câu trả lời:
Một lỗi là:
Lỗi phần mềm là thuật ngữ phổ biến được sử dụng để mô tả lỗi, sai sót, lỗi, lỗi hoặc lỗi trong chương trình máy tính hoặc hệ thống tạo ra kết quả không chính xác hoặc không mong muốn hoặc khiến nó hoạt động theo cách không lường trước được. (Từ Wikipedia )
Đây là một định nghĩa tốt về những gì cấu thành một lỗi. Hoặc:
Cộng đồng Ubuntu có một định nghĩa tuyệt vời cho lỗi trong wiki này , đặc biệt là làm nổi bật sự khác biệt giữa lỗi và các tính năng bị thiếu :
Lỗi phần mềm là lỗi hoặc lỗi trong chương trình máy tính khiến nó không hoạt động như mong muốn. Điều này có thể đơn giản như hoàn toàn không hoạt động hoặc phức tạp như một kết quả không chính xác [...] Một số thứ không phải là lỗi, nhưng thiếu các tính năng cần được đưa vào một cách hợp lý. Các tính năng thiếu không nên được báo cáo là lỗi, thay vào đó, FeatureSpecifying nên được viết cho chúng.
Trong khi thật khó để vẽ một đường phân tách hai định nghĩa và trả lời câu hỏi là lỗi hay thiếu tính năng? , có thể đưa ra một số hướng dẫn:
Sự khác biệt giữa hai xác nhận là: đầu tiên là phổ biến hơn (hỗ trợ các cửa sổ hiện đại FS) và do đó có thể được xem là Tính năng bị thiếu, trong khi cái còn lại nhấn mạnh một vấn đề duy nhất (không thể ghi vào ReiserFS) - một lỗi cụ thể.
Nếu bạn quan tâm, tôi khuyên bạn nên xem wiki của đội BugSquad . Chống lỗi là một trong những hoạt động thú vị nhất liên quan đến chu trình phát triển phần mềm, bên cạnh đó là cơ hội học tập tuyệt vời :-)
Cảm ơn!
Tôi sẽ đi một vòng. Chủ yếu, hành vi không có ý định của nhà thiết kế / lập trình viên (giảm giá thiết kế xấu). Về những lỗi bạn nên báo cáo cho mọi người, bất cứ điều gì làm cho chương trình giờ sử dụng và phù hợp với mô tả ở trên. Điều này bao gồm, từ tồi tệ nhất đến ít nghiêm trọng nhất, sự cố hệ thống, sự cố X, sự cố chương trình và bất kỳ lỗi chương trình nội bộ nào.
Lỗi gây ra sự cố hoặc đóng cửa sổ thường sẽ khiến một số loại đầu ra bị lỗi nếu bạn chạy ứng dụng từ thiết bị đầu cuối, điều này có thể hữu ích. Cũng xem nhật ký hệ thống để báo cáo lỗi.
Đối với tất cả các mục đích thực tế, thuật ngữ "lỗi" nên được tránh là một thuật ngữ quá mờ.
Câu trả lời tốt nhất cho câu hỏi của bạn lấp đầy cả một cuốn sách: "Tại sao các chương trình thất bại" của Andreas Zeller. Một cuốn sách nên có trên kệ sách của mọi lập trình viên. Tác giả cũng rất nỗ lực trong việc không gọi chúng là "lỗi" (đọc tiếp). Bởi vì câu trả lời của crncosta đã gợi ý "lỗi" không chỉ là lỗi lập trình. Đây là lý do tại sao một số người thích thuật ngữ "vấn đề" thay vào đó (dẫn đến "trình theo dõi vấn đề" thay vì "trình theo dõi lỗi").
Bởi vì những gì người dùng cuối coi là lỗi không phải là lỗi. Nó có thể - mặc dù điều này thường được sử dụng như một lý do khập khiễng - đơn giản là do thiết kế. Tuy nhiên, một số thất bại, một khi được quan sát, được phân loại là "lỗi", mặc dù chúng là do thiếu tính năng.
Tác giả của cuốn sách nói trên dành nhiều trang cho định nghĩa của các thuật ngữ như thất bại và khiếm khuyết và mô tả tại sao "lỗi" không phải là một thuật ngữ thích hợp (quá mờ nhạt).
Tóm tắt thuật ngữ của mình:
Như bạn có thể thấy tác giả phân biệt giữa nguyên nhân và kết quả, trong trường hợp "lỗi" hầu như luôn luôn bị trộn lẫn. Hầu hết thời gian thuật ngữ "lỗi" đã được áp dụng cho các khiếm khuyết , các nhiễm trùng và các thất bại .