tl;dr:"Many best practices in programming don’t meet the definition. They spread, not based on merit or evidence, but thanks to authority bias and social utility. As they spread, they lose nuance. As they lose nuance, they become easier to evangelise. Combined with lack of experience, they can lead to cult-like behaviour."