Isso deveria ser dado à maioria dos programadores, mas não é para todos
Não importa o idioma que você usa, sempre, sempre, verifique o estado de suas variáveis e compare-as com o que você está esperando. Se você presumir que eles estão preenchidos em algum outro lugar sem verificá-los, você pode ter uma bagunça em suas mãos que pode ser potencialmente muito difícil de depurar.
Sempre crie lógica suficiente para garantir que suas variáveis sejam sempre os tipos de dados, valores corretos e se você estiver lidando com matrizes ou objetos (principalmente em linguagens como PHP, Javascript, etc), sempre faça uma contagem / tamanho deles para ter certeza que eles não estão vazios e sempre verifique se a chave do array existe antes de tentar acessá-lo.
Em conclusão:
supor não levará você a lugar nenhum na programação.