Bài giảng Kỹ thuật lập trình - Bài 6: Lập trình phòng thủ
Số trang: 55
Loại file: pdf
Dung lượng: 816.10 KB
Lượt xem: 16
Lượt tải: 0
Xem trước 6 trang đầu tiên của tài liệu này:
Thông tin tài liệu:
Bài giảng Kỹ thuật lập trình - Bài 6: Lập trình phòng thủ trình bày về khái niệm, xử lý rác, bảo đảm, xử lý lỗi, gỡ lỗi. Bên cạnh đó, những bài tập được đưa ra ở cuối bài giảng sẽ giúp cho các bạn hiểu rõ hơn về điều này.
Nội dung trích xuất từ tài liệu:
Bài giảng Kỹ thuật lập trình - Bài 6: Lập trình phòng thủBài 6LẬP TRÌNH PHÒNG THỦTrịnh Thành Trungtrungtt@soict.hust.edu.vn1KHÁI NIỆM-Khái niệm• Lập trình phòng thủ - Defensive Programming: Xuất phát từkhái niệm defensive driving.• Khi lái xe bạn luôn phải tâm niệm rằng bạn không bao giờ biếtchắc được người lái xe khác sẽ làm gì. Bằng cách đó, bạn cóthể chắc chắn rằng khi họ làm điều gì nguy hiểm, thì bạn sẽkhông bị ảnh hưởng (tai nạn).• Bạn có trách nhiệm bảo vệ bản thân, ngay cả khi người kháccó lỗi• Trong defensive programming, ý tưởng chính là nếu chươngtrình (con) được truyền dữ liệu tồi, nó cũng không sao, kể cảkhi với chương trình khác thì sẽ bị fault.• Một cách tổng quát, lập trình phòng thủ nghĩa là: làm thế nàođể tự bảo vệ mình khỏi thế giới lạnh lùng, tàn nhẫn của dữ liệukhông hợp lệ, các sự kiện mà có thể không bao giờ xảy ra, vàcác lập trình viên khác ‘sai lầm’Invalid inputs• Trong thực tiễn: “Garbage in, garbage out.”• Trong lập trình “rác rưởi vào – rác rưởi ra” là điềukhông chấp nhận• Một chương trình tốt không bao giờ sãn xuất ra rácrưởi, bất kể đầu vào là gì !• Với 1 chương trình tốt thì: ”rác rưởi vào, không có gìra”, “rác rưởi vào, có thông báo lỗi” hoặc “khôngcho phép rác rưởi vào”.• Theo tiêu chuẩn ngày nay, “garbage in, garbageout” là dấu hiệu của những chương trình tồi, khôngan toànVí dụswitch(value1){case 1:value2 = 1;break;case 2:value2 = 4;break;}return(1 / value2);for (int i = 0;for (double i =khong bi thayfor (double i =i != limit; i++) {...}0; i != 10.0; i += 1) // safe neu idoi trong than vong lap0; i != 1.0; i += 0.1) // not ok ?
Nội dung trích xuất từ tài liệu:
Bài giảng Kỹ thuật lập trình - Bài 6: Lập trình phòng thủBài 6LẬP TRÌNH PHÒNG THỦTrịnh Thành Trungtrungtt@soict.hust.edu.vn1KHÁI NIỆM-Khái niệm• Lập trình phòng thủ - Defensive Programming: Xuất phát từkhái niệm defensive driving.• Khi lái xe bạn luôn phải tâm niệm rằng bạn không bao giờ biếtchắc được người lái xe khác sẽ làm gì. Bằng cách đó, bạn cóthể chắc chắn rằng khi họ làm điều gì nguy hiểm, thì bạn sẽkhông bị ảnh hưởng (tai nạn).• Bạn có trách nhiệm bảo vệ bản thân, ngay cả khi người kháccó lỗi• Trong defensive programming, ý tưởng chính là nếu chươngtrình (con) được truyền dữ liệu tồi, nó cũng không sao, kể cảkhi với chương trình khác thì sẽ bị fault.• Một cách tổng quát, lập trình phòng thủ nghĩa là: làm thế nàođể tự bảo vệ mình khỏi thế giới lạnh lùng, tàn nhẫn của dữ liệukhông hợp lệ, các sự kiện mà có thể không bao giờ xảy ra, vàcác lập trình viên khác ‘sai lầm’Invalid inputs• Trong thực tiễn: “Garbage in, garbage out.”• Trong lập trình “rác rưởi vào – rác rưởi ra” là điềukhông chấp nhận• Một chương trình tốt không bao giờ sãn xuất ra rácrưởi, bất kể đầu vào là gì !• Với 1 chương trình tốt thì: ”rác rưởi vào, không có gìra”, “rác rưởi vào, có thông báo lỗi” hoặc “khôngcho phép rác rưởi vào”.• Theo tiêu chuẩn ngày nay, “garbage in, garbageout” là dấu hiệu của những chương trình tồi, khôngan toànVí dụswitch(value1){case 1:value2 = 1;break;case 2:value2 = 4;break;}return(1 / value2);for (int i = 0;for (double i =khong bi thayfor (double i =i != limit; i++) {...}0; i != 10.0; i += 1) // safe neu idoi trong than vong lap0; i != 1.0; i += 0.1) // not ok ?
Tìm kiếm theo từ khóa liên quan:
Kỹ thuật lập trình Bài giảng Kỹ thuật lập trình Lập trình phòng thủ Xử lý rác Xử lý lỗi Phương pháp gỡ lỗiGợi ý tài liệu liên quan:
-
Kỹ thuật lập trình trên Visual Basic 2005
148 trang 245 0 0 -
NGÂN HÀNG CÂU HỎI TRẮC NGHIỆM THIẾT KẾ WEB
8 trang 179 0 0 -
Giới thiệu môn học Ngôn ngữ lập trình C++
5 trang 177 0 0 -
Luận văn: Nghiên cứu kỹ thuật giấu tin trong ảnh Gif
33 trang 147 0 0 -
Bài giảng Nhập môn về lập trình - Chương 1: Giới thiệu về máy tính và lập trình
30 trang 143 0 0 -
Báo cáo thực tập Công nghệ thông tin: Lập trình game trên Unity
27 trang 113 0 0 -
Giáo trình về phân tích thiết kế hệ thống thông tin
113 trang 112 0 0 -
LUẬN VĂN: Tìm hiểu kỹ thuật tạo bóng cứng trong đồ họa 3D
41 trang 104 0 0 -
Bài giảng Kỹ thuật lập trình - Chương 10: Tổng kết môn học (Trường Đại học Bách khoa Hà Nội)
67 trang 102 0 0 -
Giáo trình Nhập môn lập trình VB6: Phần 2
184 trang 84 0 0