3 ms·
What are the things that you think other devs would label over engineering but was instrumental in your project not becoming an unmaintainable mess?
by JamesBarney 7y ago
What are the things that you think other devs would label over engineering but was instrumental in your project not becoming an unmaintainable mess?
- s1k3s 7y agoAn example I often see is database normalization. Why use 5NF when we can simply do with 3NF? Fast forward this a few months later and you end up doing pattern matching on blocks of text instead of querying indexed columns.
- JamesBarney 7y agoAhh, it's far more uncommon for me to feel like a database is over engineered. It's much more common to find a codebase has 7 levels of indirection but the database fails to accurately and completely represent their business domain. When I do feel a database is over engineered it is almost exclusively adding complexities to the database to handle a contrived or rare examples. With the most common being "splitting one table into 2 because a one to one relationship is actually a one to many once every 5 years", or "adding a join table because in Joe's 30 year career there was that one time multiple companies jointly sold us a single product"