Hacks

Hacks are referring to edge cases which are handled pretty much inline. Hacks are a bandaid. They can't be used to solve a larger problem.

It's ok to have one or two hacks, as long as they are commented, and documented about why they are needed.

Hacks are convenient when used appropriately. Hacks help to work around minor edge cases, and should be applied with some restraint.

But when hacks multiply, and the edge cases are handled in many places, then it gets messy. Be careful of too many hacks. Then it becomes technical debt.

When there are too many hacks, you are most likely required to reimplement the architecture.