If there was a “best practice” it would be obvious and everyone would be doing it. Part of maturing as an engineer is understanding that everything has tradeoffs and what tradeoffs to make. You could prescribe the best way to do something under an enormous amount of constraints but often this misses the opportunity to let someone else grow through deliberate practice.
Instead of best practices, focus on reasons for tradeoffs and code style. Look at “bad” code and understand how it got to that state. The process by which things come to be is more important than the inputs.