DEV Community

loading...

Discussion on: Stop writing silver bullets

Collapse
ssimontis profile image
Scott Simontis

I think the UNIX philosophy is a great guide here, especially if you follow a functional programming style. Can you throw your library method into the middle of a pipeline (under reasonable circumstances) and have some degree of confidence that it is going to work? If not, you are doing too much or have too many side effects in your code.

I am going through some of the same thought process as I write Vue components for my blog. I keep getting tempted to expand certain components to handle special cases, and then I have to remind myself these are for my blog, there are no special cases, I'm just procrastinating and finding excuses to delay going live.

I personally have discovered overengineering is my favorite form of procrastination. It looks like I am doing something noble and thoughtful, but really I am just scared shitless of showing my code to the world and seeing if it works or not.

Collapse
adam_cyclones profile image
Adam Crockett Author

That's a very honest administration at the end and I feel the same way. As for Vue again I feel the same, is it because Vue under the hood can handle a hell of a lot. I want my stuff to be the 'best' even if 30% of that 'best' is actually used.

Use restraint and lots of it. What's interesting is that overengineering and future proofing which is the same word is proactive, which sounds good in a developer world when being proactive is better than reactive. But counterintuitive as it sounds, it's not good at all in code, very strange.

If I put an analogy on this situation, there is a bunch of roadworks outside my house, I can't park and it's really making life truly, today they put a sign up giving details of the reasons for the work. The work lasts until October 2020 and the reason is future proofing, it this point I swore at the sign and walked off. Nothing has happened, something might happen and they are investigating time to disrupt everyone for no reason.