2 ms·
> So called "best practices" are contextual and not broadly applicable. Blindly following them makes you an idiot That's the truth. "Best Practices" often for
by naikrovek 6y ago
> So called "best practices" are contextual and not broadly applicable. Blindly following them makes you an idiot
That's the truth. "Best Practices" often force you to ignore what your problem actually is and view it in some twisted way that fits the practice. Bad.
Your problem is your problem. Your data is your data. Write code that matches what you have and what you're trying to do.
- t-writescode 6y agoMy biggest frustration around ‘best practices’ is when you’re tasked with learning a new framework to consider adopting it for the company and you’re given a week and they want ‘best practices’ to come out of it. There is no way I can learn how to write good code in a completely new framework that everyone should model after from that. I can show what worked for a toy problem and something that’s hypothetically similar to a real problem, but that says nothing of real complexity or practices that are actually going to last more than a few months on the project.
- dathinab 6y ago> learning a new framework to consider adopting The best practice is to not learn a new framework. Only learn the new concepts (technical and UX, if there are any) and if there is no noticeable benefit do continue using old framework. In many cases new frameworks do not bring improvements to a degree that switching is worth it. They often do either obfuscate it or don't realize it themself, but most new frameworks do not invent any new concepts, they just dress existing (often old) concepts in new clothes. Which sometimes _can_ be a major improvement of UX but very often are not.
- t-writescode 6y agoIn the specific examples I’m thinking of, it’s transitioning from a single-threaded, non-async infrastructure to a multi-threaded and async infrastructure in a new language. We had to learn a new technology stack for that; and, frameworks, among others, are a required step in that. I’ve also had to do “best practices” around things like introducing grafana or whatever to our stack, and what the metrics should look like.
- the_cat_kittles 6y agoi basically have 1 meta best practice, which is- everything you make should work 100% of the time (not that i live up to this)
- naikrovek 6y agoMine is that "this should never waste a user's time unless absolutely necessary." And it is absolutely shocking how many developers do not care if they make a user wait a minute for something that should take <1 second if they spent 10 minutes in the code improving it. To me, it is a moral failing if my laziness costs user's time. Remember how many users you have and multiply delays by the number of users delayed by your code.
- dathinab 6y agoYes but also don't overoptimize it's normally not worth it at all. The relevant decisions are often about the UI/UX design and flow as well as the architecture, but less about optimizing code sections here and there.
- naikrovek 6y agoYes, I failed to state that, as I felt it obvious, and you're right. Over-optimizing is just as bad as under-optimizing. I will not spend 4 hours to save 5 users 5 minutes per year.