3 ms·
I have come to believe that by and large "best practices" are actively harmful as they're mostly pounded by inexperienced programmers who lack the ability to ju
by arp242 3y ago
I have come to believe that by and large "best practices" are actively harmful as they're mostly pounded by inexperienced programmers who lack the ability to judge the applicability or zealots who believe everything should be done the One True Way™, and they (ab)use these kind of "best practices" as an argument from authority. Everyone else just says "X is better because Y", which is an actual argument that can be discussed (engaging with actual arguments discovers what the best solution for the particular situation is).
Most "best practices" are just someone's opinion anyway, and little more. The exception to this are some things like "don't use mktemp(), use mkstemp()", but these are usually not called "best practices" but "footguns" or "things that will get you in to trouble sooner or later".
- j45 3y agoLearning by trying out different approaches is critical to know which practice to use when
- civilitty 3y agoCase in point: OP linked 12factor which was originally Heroku marketing and helped drive the microservice plague that is ravaging our industry to this day.
- theshrike79 3y agoI hate microservices with a passion, but still use 12factor when coding, they're good guidelines for monoliths too.
- EdvardM 3y agoAgreed. 12factor guidelines is one of the few really good one I still try to adhere to, even though I full agree that microservices are overhyped. I've seen so many devs to claim how they solve all the problems, without seeing any of the issues they cause (and there are many). Definitely not a free lunch.
- lumb63 3y agoThe important part of any best practices guide is the “why”. Those “best” practices should be aiming to solve some problem(s), and it should state which one(s). If someone finds themselves with the same problem, they can leverage those solutions.
- arp242 3y agoYes, I agree, and I'll nuance my previous comment a bit by saying that I actually think many "best practices" have good advice in them, at least for some situations, and sometimes even most situations, and in that sense they often are worth reading. I just wish people would stop calling them "best practices" or even "methodologies" and would just call them "an idea I had" or "this is how I like to do things" or "here are the advantages to X". The change in tone just puts an entire different spin on things, and will ultimately be helpful for everyone as the reader will be less tempted to just accept things as an axiom, and will generally lead to more thoughtful and constructive discourse.
- DavidPiper 3y agoYour first point reminded me of the Expert Beginner[1]. Avoiding appeals to authority (or conversely ad hominem) is important, but if you don't have time or resources to evaluate the idea directly, it's useful to consider who the advice is coming from, and who the intended audience of that advice is (it might not be you) [2]. "Our lead developer said we should do X in this situation" has a better chance of success than "I found a random blog about this thing that could work for us". [1] https://daedtech.com/how-developers-stop-learning-rise-of-the-expert-beginner/ https://daedtech.com/how-developers-stop-learning-rise-of-th... [2] https://news.ycombinator.com/item?id=36273917 https://news.ycombinator.com/item?id=36273917