La programación defensiva es un enfoque que busca mejorar el software y el código fuente, en términos de: