3 ms·
There are no "Best Practices", this is a toxic myth. Like engineering, methodology an design are always tradeoffs, highly dependent on context. Business const
by stephc_int13 3y ago
There are no "Best Practices", this is a toxic myth.
Like engineering, methodology an design are always tradeoffs, highly dependent on context.
Business constraints, company culture, legacy code, team strength and even individual preferences, all of that should be taken into account, there are different appropriate styles for different cases.
The only "best practice" is a wide knowledge of what can be done, and the ability to pick and mix to optimize given the context.
- golergka 3y agoWhen I what circumstances would not using a version control system, for example, be the right choice?
- stephc_int13 3y agoIf you are a 8 years old kid learning to program, maybe.
- mr_00ff00 3y agoI don’t think having many options with trade-offs and “best practices” are mutually exclusive. Best practices at a minimum can be guidelines for how to build, and at there best they describe exactly what you should do based on the trade-offs and your current situation.
- stephc_int13 3y agoThere are best practices in a given context that can be worst practices in an other one. The coding style that is used in safety critical embedded software or high frequency trading would not be appropriate for gamedev or web, and vice versa.
- galoisscobi 3y agoThis has been a revelation to me. I have always wanted to test in prod but best practices stopped me. Now is my time.
- ape4 3y agoSome things are indisputable - eg avoid `new` and `delete`.
- kgwxd 3y agoNew developers often take them too far but I wouldn't call it a toxic myth. Everyone eventually figures out they're not sacred, just very useful. Not everything is a major tradeoff, sometimes there's just multiple ways to do the same thing and one is clearly better than the others for most things. Unless you know there's a good reason to use one of the other ways, you can save tons of time not having to think about it, especially when there are many multiple ways. Sometimes the "good reason" is that a certain way won't work with the giant code base that already exists and the current way isn't actively causing any bug or major security risks. It can be hard to convince team members that want everything to be the "best" way of that, but that's a problem with people, not a problem with the concept of "Best Practices". Every major life-or-death software system has "Best Practices". Hopefully, everyone that works on those system understands it's a fluid concept that will change as new things are learned but it's important to understand and follow them unless there's a valid, peer reviewed, reason not to.
- okamiueru 3y agoI agree that there are no unified "best practices". But, I'm sure most understand that what we mean are "some good practices, and definitely try to avoid some problematic ones".