Hệ thống cảnh báo sớm

Lập trình R theo hướng phòng thủ

Dr. Colin Gillespie

Jumping Rivers

Hệ thống cảnh báo sớm

  • Tránh vấn đề khi có thể
  • Xử lý phát sinh một cách hợp lý

Ví dụ: dùng phím tắt T/F cho TRUE/FALSE

Lập trình R theo hướng phòng thủ

Vấn đề 1: TRUE và FALSE

  • TRUE và FALSE là giá trị đặc biệt
  • Ta không thể ghi đè chúng
TRUE <- 5
# Error in TRUE <- 5 : invalid (do_set) left-hand side to assignment
Lập trình R theo hướng phòng thủ

Vấn đề 2: TRUE và FALSE

Giả sử đang tính F-statistic. Tự nhiên ta sẽ có

# df là hàm mật độ F
(F <- df(1, 9, 67))
[1] 0.7798

Nhưng R coi số dương là TRUE, nên

if(F) message("Yer aff yer heid!")
Yer aff yer heid!

F giờ được coi là TRUE!

Lập trình R theo hướng phòng thủ
  • Tập thói quen dùng TRUEFALSE
    • không dùng TF
      • Nếu kiểm tra TRUE, dùng isTRUE()
isTRUE(T)
[1] TRUE
isTRUE(2)
[1] FALSE
T <- 10
isTRUE(T)
[1] FALSE
Lập trình R theo hướng phòng thủ

Hãy thực hành một chút

Lập trình R theo hướng phòng thủ

Preparing Video For Download...