3 ms·
> Am I missing something I need, but just ignorant, or is that just needless complexity that a lot of people fall for? Ignorance plays a big role. If you don'
by mrkeen 1y ago
> Am I missing something I need, but just ignorant, or is that just needless complexity that a lot of people fall for?
Ignorance plays a big role. If you don't perceive, e.g. a race condition happening, then it's much simpler to avoid complicated things like locking and synchronisation.
If you have the belief that your code will never be modified after you commit it, then it's much simpler to not write modifiable code.
If you believe there's no chance of failure, then it's simpler to not catch or think about exceptions.
The simplest thing is global variables, single-letter variable names, string-handling without consideration for escaping, etc.
- al_borland 1y agoFor the basics inside a single code base, like error handling, maintainability, race conditions, etc, I’m thinking about most of that. It’s more about adding additional tools to the stack. I will fight hard not to add in additional layers of complexity that require more infrastructure and maintenance to manage. I want to eliminate as many points of failure as possible, and don’t want the stack to be so complex that other people can’t understand how it all fits together. If I win the lotto, or simply go on vacation, I want whoever has to take it over to be able to understand and support it. The thing I’ll be working on next week has a lot of potential race conditions, and I need to find a simple solution that avoid them, without creating a support and maintainability burden on myself and the future team. Building a database would probably be the easy solution, but that’s one more dependency and thing to maintain, and also means I need to build a front end for people to access it. If I can do it without a database, that would be ideal.