Um einen mechanischen Taster zu entprellen, musst Du nur dafür sorgen, dass Du ihn nicht zu häufig abfragst. Wenn die Durchlaufzeit deines loop() nicht sehr kritisch ist, reicht es also aus, einfach die Durchlaufzeit etwas zu verzögern. Das macht das delay(20). Damit wird der Taster nur noch alle 20ms abgefragt, und das reicht zum Entprellen.
Edit: es ist deshalb auch vollkommen egal, wo das delay(20) im loop steht ( Ok, nicht in einer if-Abfrage

). Hauptsache die Durchlaufzeit wird größer.
Ist die loop-Zeit kritisch, und du kannst dir da keine 20ms Umlaufzeit leisten, wird es komplizierter, denn dann musst Du dafür sorgen, dass der Taster nicht mehr in jedem loop-Durchlauf abgefragt wird.