Sistemi di allerta precoce

Programmazione R difensiva

Dr. Colin Gillespie

Jumping Rivers

Sistemi di allerta precoce

  • Evita i problemi quando possibile
  • Gestisci i problemi in modo sensato quando si presentano

Ad esempio, usare le scorciatoie T/F per TRUE/FALSE

Programmazione R difensiva

Problema 1: TRUE e FALSE

  • TRUE e FALSE sono valori speciali
  • Non possiamo sovrascriverli
TRUE <- 5
# Error in TRUE <- 5 : invalid (do_set) left-hand side to assignment
Programmazione R difensiva

Problema 2: TRUE e FALSE

Supponiamo di calcolare una F-statistic. Sarebbe naturale avere

# df è la funzione di densità F
(F <- df(1, 9, 67))
[1] 0.7798

Ma R tratta i numeri positivi come TRUE, quindi

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

Ora F è trattato come TRUE!

Programmazione R difensiva
  • Abituati a usare TRUE e FALSE
    • non T e F
      • Se testi TRUE, usa isTRUE()
isTRUE(T)
[1] TRUE
isTRUE(2)
[1] FALSE
T <- 10
isTRUE(T)
[1] FALSE
Programmazione R difensiva

Facciamo un po' di pratica

Programmazione R difensiva

Preparing Video For Download...