Interesting take. I've heard the same arguments about foreign keys being evil because they degraded performance. If we follow this logic, we don't need RDBS at all and all applications should store their data in plain binary files. I agree not all software systems require strong data consistency/integrity but we can't scrap 50 years of DB development so easily. Critical systems that work with money in some form must be modeled strictly on the data layer as well as on the application layer.
Jon is a self-taught programmer, started in video games but now does web development. He follows principles, argues for scientific software development, and does not like writing in the 3rd person.
I see your angle. What I find necessary is to challenge the dogma I sense of always creating constraints. I want to trust the code to handle business requirements and I see no issue joining manually.
I do see where you’re coming from with your financial comment and it could be true: The data storage constraints can act as a kind of extra bookkeeping check, further enhancing correctness on top of test-automation. It's sound logic. But I suspect I’d still want to see how far we can guarantee correctness in the code, with appropriate layers of test automation.
For further actions, you may consider blocking this person and/or reporting abuse
We're a place where coders share, stay up-to-date and grow their careers.
Interesting take. I've heard the same arguments about foreign keys being evil because they degraded performance. If we follow this logic, we don't need RDBS at all and all applications should store their data in plain binary files. I agree not all software systems require strong data consistency/integrity but we can't scrap 50 years of DB development so easily. Critical systems that work with money in some form must be modeled strictly on the data layer as well as on the application layer.
I see your angle. What I find necessary is to challenge the dogma I sense of always creating constraints. I want to trust the code to handle business requirements and I see no issue joining manually.
I do see where you’re coming from with your financial comment and it could be true: The data storage constraints can act as a kind of extra bookkeeping check, further enhancing correctness on top of test-automation. It's sound logic. But I suspect I’d still want to see how far we can guarantee correctness in the code, with appropriate layers of test automation.