Debouncing (Programming)

Debouncing is to ignore rapid, successive actions following an initial action, for a given delay (typically a fraction of a second).

More details

Debouncing, a concept originally from electrical engineering, essentially means to prevent 'bouncing'. In this respect, bouncing refers to the quick successive reactions after clicking a button/switch (similar to the bouncing of a ball after it's dropped).

Bouncing is generally bad for connected electronic devices because for them, each of the bounces is also a valid on or off signal. Debouncing is to prevent all these back and forth reactions from reaching the end device.

In programming, debouncing has been adapted to solve a different but theoretically similar issue. That is, when a routine fires very quickly, it's debounced in order to execute it again only after a certain time delay, for e.g. showing suggestions for the data entered into an input field only after a certain time period elapses since the last keystroke without any subsequent keystroke.