1. Trang chủ
  2. » Công Nghệ Thông Tin

Bài giảng Kỹ thuật lập trình - Chương 8: Lập trình phòng ngừa (Trường Đại học Bách khoa Hà Nội)

38 2 0
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 38
Dung lượng 1,04 MB

Nội dung

Bài giảng Kỹ thuật lập trình - Chương 8: Lập trình phòng ngừa. Chương này cung cấp cho học viên những nội dung về: khái niệm lập trình phòng ngừa; phòng ngừa sai sót về dữ liệu; xử lý lỗi; bảo đảm;... Mời các bạn cùng tham khảo chi tiết nội dung bài giảng!

Trịnh Thành Trung (ThS) trungtt@soict.hust.edu.vn Bài LẬP TRÌNH PHỊNG NGỪA Nội dung Khái niệm Phòng ngừa sai sót liệu Xử lý lỗi Bảo đảm Khái niệm Lập trình phịng ngừa Lập trình phịng ngừa Defensive Programming = Defensive driving Lập trình phịng ngừa Defensive programming ▪ Ý tưởng chính: chương trình (CTC) nhận liệu vào bị lỗi chạy thơng, chương trình khác nhận liệu đầu vào bị lỗi ▪ Lập trình phịng ngừa cách tự bảo vệ chương trình khỏi ▫ ảnh hưởng tiêu cực liệu không hợp lệ ▫ rủi ro đến từ kiện tưởng "không bao giờ" xảy ▫ sai lầm lập trình viên khác Các lỗi phịng ngừa ▪ Lỗi liên quan đến phần cứng ▫ Đảm bảo lỗi buffer overflows hay divide by zero kiểm soát ▪ Lỗi liên quan đến chương trình ▫ Đảm bảo giá trị gán cho biến ln nằm vùng kiểm sốt ▫ Do not trust anything; verify everything ▪ Lỗi liên quan đến người dùng ▫ Đừng cho người dùng thực thao tác theo dẫn, kiểm tra thao tác họ ▪ Lỗi liên quan đến kỹ thuật phòng ngừa! ▫ Mã nguồn cài đặt kỹ thuật phịng ngừa có khả gây lỗi, kiểm tra kỹ phần Các giai đoạn lập trình phịng ngừa ▪ Lập kế hoạch thực công việc: ▫ Dành thời gian để kiểm tra gỡ rối chương trình cẩn thận : hồn thành chương trình trước ngày so với hạn nộp ▪ Thiết kế chương trình: ▫ Thiết kế giải thuật trước viết ngơn ngữ lập trình cụ thể ▪ Giữ vững cấu trúc chương trình: ▫ Viết kiểm thử phần chương trình: phần chương trình dùng để làm ▫ Viết kiểm thử mối liên kết phần chương trình: quy trình nghiệp vụ ▫ Phịng ngừa điều kiện trước sau gọi phần chương trình: điều phải trước gọi chương trình, điều xảy sau chương trình thực xong ▫ Dùng thích để miêu tả cấu trúc chương trình viết chương trình Kiểm tra gì, nào? ▪ Testing: vấn đề làm chương trình khơng chạy ▪ Kiểm tra theo cấu trúc chương trình: Kiểm tra việc thực nhiệm vụ đặt cho phần chương trình ▫ Ví dụ: điều xảy với chương trình lề văn bản, hàm ReadWord() bị lỗi ? ▪ Nếu chương trình khơng có tham số đầu vào, mà thực thi nhiệm vụ sinh kết khơng cần kiểm tra nhiều Hầu hết chương trình khơng ▫ Ví dụ: điều xảy với chương trình lề văn bản, ▸ Không nhập đầu vào ? ▸ Đầu vào xâu/file chứa từ hay chữ quy định ? Kiểm sốt lỗi xảy ▪ Error handling: xử lý lỗi mà ta dự kiến xảy ▪ Tùy theo tình cụ thể, ta trả về: ▫ giá trị trung lập ▫ thay đoạn liệu hợp lệ ▫ trả giá trị lần trước ▫ thay giá trị hợp lệ gần ▫ ghi vết cảnh báo vào tệp ▫ trả mã lỗi ▫ gọi thủ tục hay đối tượng xử lý ▫ thông báo hay tắt máy Chắc chắn hay xác? ▪ Chắc chắn: chương trình ln chạy thơng, kể có lỗi ▪ Chính xác: chương trình khơng gặp lại lỗi ▪ Ví dụ: Lỗi thị trình xử lý văn bản: thay đổi nội dung văn bản, phần dòng văn phía hình bị thị sai Khi người dùng phải làm gì? ▫ Tắt chương trình ▫ Nhấn PgUp PgDn, hình làm Ưu tiên tính chắn thay tính xác: ▫ Bất kết thường tốt so với Shutdown ... thao tác họ ▪ Lỗi liên quan đến kỹ thuật phòng ngừa! ▫ Mã nguồn cài đặt kỹ thuật phịng ngừa có khả gây lỗi, kiểm tra kỹ phần Các giai đoạn lập trình phịng ngừa ▪ Lập kế hoạch thực công việc: ▫... rối chương trình cẩn thận : hồn thành chương trình trước ngày so với hạn nộp ▪ Thiết kế chương trình: ▫ Thiết kế giải thuật trước viết ngơn ngữ lập trình cụ thể ▪ Giữ vững cấu trúc chương trình: ... ngừa sai sót liệu Xử lý lỗi Bảo đảm Khái niệm Lập trình phịng ngừa Lập trình phịng ngừa Defensive Programming = Defensive driving Lập trình phịng ngừa Defensive programming ▪ Ý tưởng chính: chương

Ngày đăng: 22/11/2022, 22:03

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN