There is a Patterns Community subgroup that works on Pedagogical Patterns for teaching computing. Several hundred patterns have been written to capture "best practice" in teaching. As with other patterns, forces leading to a solution are part of the pattern. This is my view of best-practice. It need to be verified via practice (not necessarily research), but the reasons need to be available for anyone to examine and verify.
There is even a book: Pedagogical Patterns that contains "mature" patterns.
A web search for Pedagogical Pattern will turn up quite a lot.
In the patterns community, all accepted (mature) patterns go through a process of improvement and eventual acceptance. In this case by educators. They aren't just one person's ideas, but a consensus of practitioners. The same as any other modern (say Software) pattern. The PLoP conferences is where the process finds its fulfillment. Easier and cheaper, and whatever are just forces that push you toward or away from a particular solution. The pattern "balances" the forces.
Before a pattern even reaches a PLoP it is assigned a Shepherd who works with the author(s) to improve both the ideas and the presentation. Patterns can be rejected by "the community" at this level if the author is just writing personal preferences or propaganda. It is a supportive process, but quite demanding.
See https://en.wikipedia.org/wiki/Pedagogical_patterns
and
https://en.wikipedia.org/wiki/Pattern_language
Why isn't "classroom" included in the tag name if that's what the tag is about?
best-classroom-practice exceeded the number of letters allowed at the time. $\endgroup$classroom
. 'best-practice' is, on its own, vague enough to be absolutely meaningless, IMO. I mean, there are posts on Meta Stack Exchange about why asking for 'best practice' is a bad idea, so why have it as a tag? (I don't think the education context changes anything, but feel free to explain if you think it does) $\endgroup$