Gần đây tôi đã phải vật lộn để hiểu mức độ kiểm tra phù hợp là gì và phương pháp thích hợp là gì.
Tôi có một vài câu hỏi liên quan đến điều này:
Cách thích hợp để kiểm tra lỗi (đầu vào xấu, trạng thái xấu, v.v.) là gì? Là tốt hơn để kiểm tra lỗi rõ ràng, hoặc sử dụng các chức năng như xác nhận có thể được tối ưu hóa từ mã cuối cùng của bạn? Tôi cảm thấy như kiểm tra một cách rõ ràng một chương trình có rất nhiều mã bổ sung không nên được thực thi trong hầu hết các tình huống - và không đề cập đến hầu hết các lỗi kết thúc với lỗi hủy bỏ / thoát. Tại sao làm lộn xộn một chức năng với kiểm tra rõ ràng chỉ để hủy bỏ? Tôi đã tìm kiếm các xác nhận so với kiểm tra lỗi rõ ràng và tìm thấy rất ít để thực sự giải thích khi nào nên làm.
Hầu hết nói 'sử dụng các xác nhận để kiểm tra lỗi logic và sử dụng kiểm tra rõ ràng để kiểm tra các lỗi khác.' Điều này dường như không đưa chúng ta đi rất xa mặc dù. Chúng tôi sẽ nói điều này là khả thi:
Malloc returning null, check explictly
API user inserting odd input for functions, use asserts
Điều này sẽ làm cho tôi tốt hơn trong việc kiểm tra lỗi? Tôi có thể làm gì nữa? Tôi thực sự muốn cải thiện và viết tốt hơn, mã 'chuyên nghiệp'.
setjmp
/ longjmp
có sẵn bằng C, vì vậy bạn không cần một ngôn ngữ mới.