3 ms·
And what happens when your parsing needs to be expanded?
by dogma1138 6y ago
And what happens when your parsing needs to be expanded?
- fernandotakai 6y agotaking in consideration how business work, in a few years you are going to have a full parser in your hands.
- dogma1138 6y agoWith all the technical debt associated with it, which is the problem basing your project on a dependency that would allow you to easily scale and add features is a huge benefit. This is like saying you should roll your own crypto because you only need to do a very limited sub set of crypto operations so why use something like NaCl or Tink.
- samus 6y agoEncryption is a terrible edge case. If you are forced to half-ass encryption, you should seriously question the project requirements. Bad encryption can be worse than none at all. Things won't end well if data security is treated as a detail.
- Ma8ee 6y agoThen you reevaluate the situation. YAGNI is true here too.
- dogma1138 6y agoYANGI is nice but when the PM asks you why it would take two months to accept a new JSON format from a client and you’ll answer well because we didn’t want to use an industry standard fully functional and vetted JSON parser so we essentially wrote our own edge case parser we both know how that conversation will end. And YANGI doesn’t have anything against dependencies.
- Ma8ee 6y agoI said, then you reevaluate the situation. When there are new requirements you do a quick estimate if you should add four new lines to the existing 20 or if it is worth to switch to an external library. 4 new lines to the 20, just add them to the core. But if this is regularly occurring that you have to add things, or requirements affecting this particular little parser that was supposed to be simple and static isn’t, then you should probably change your decision and use the library. But you do that only then. Because chances are that with your approach you are going to drag along a large generic library that you only use a tiny fraction of. And that also has costs. In particular if your immediate impulse always is to add another library instead of writing things yourself.
- mro_name 6y agoThat's IMHO key – solve problems once you know them, not earlier. Old idea, also core to XP.