Sistemas de alerta precoce

Programação Defensiva em R

Dr. Colin Gillespie

Jumping Rivers

Sistemas de alerta precoce

  • Evite problemas quando possível
  • Trate os problemas de forma sensata ao surgirem

Por exemplo, usar os atalhos T/F para TRUE/FALSE

Programação Defensiva em R

Problema 1: TRUE e FALSE

  • TRUE e FALSE são valores especiais
  • Não podemos sobrescrevê-los
TRUE <- 5
# Error in TRUE <- 5 : invalid (do_set) left-hand side to assignment
Programação Defensiva em R

Problema 2: TRUE e FALSE

Suponha que estamos calculando uma estatística F. Seria natural ter

# df é a função densidade de F
(F <- df(1, 9, 67))
[1] 0.7798

Mas o R trata números positivos como TRUE, então

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

F agora é tratado como TRUE!

Programação Defensiva em R
  • Crie o hábito de usar TRUE e FALSE
    • não T e F
      • Se for testar por TRUE, use isTRUE()
isTRUE(T)
[1] TRUE
isTRUE(2)
[1] FALSE
T <- 10
isTRUE(T)
[1] FALSE
Programação Defensiva em R

Vamos praticar

Programação Defensiva em R

Preparing Video For Download...