How do I ask a “Best Practices” question?
Best Practice can be defined as a method or process that is generally recognized to get better results.
Examples that occur to me might be:
- In Python, prefer to use context managers when given the option.
- Store text data in utf-8 format in most cases.
- Avoid storing data in ad-hoc csv or tsv formats.
Businesses love to follow Best Practices because it demonstrates that they have done their due diligence on the matter, and determined the most superior way.
Ambitious managers and software engineers love them for much the same reason.
However, there are frequently competing solutions and methodologies that are mutually exclusive, and that reasonable and mature software engineers would disagree about which is best, leading to the following principle of Unix programming:
Rule of Diversity: Distrust all claims for “one true way”.
To return to the question, then, "How do I ask a “Best Practices” question?" this is something of a Schrödinger's Question.
I would think that it is difficult to know in advance that given a specific question whether or not there is a best practice without knowing
what that best practice is. Perhaps this is an opportunity for a self Q&A if you have thoroughly researched the matter and have the answer prepared (and a thorough check determines the question to not be a duplicate).
How do you know you have a best practice, then?
I would suggest that, even before asking this question, you thoroughly research your options, and present what you think reasonable mature software engineers would agree is indisputable "best practice".
Remember, answers go in the answers, so after doing this prep work, you should have an ideal self-Q&A.
If the matter is determined to be truly a question of opinion, we will likely put the question on hold and give you a chance to salvage it - and if it does not have the problems with it fixed, we will delete it.
As an alternative to thorough research and to prevent avoidable closure of your question, you might raise the matter in Software Engineers chat for advice on asking it - as the people who would be likely to vote to close it would be there to either help you fix obvious problems or advise you not to ask if it's completely unfixable.