3 ms·
High level of abstractions accumulate especially in big monolithic applications and I agree it takes time to get the feature in. Especially, you have to get an
by elcct 10y ago
High level of abstractions accumulate especially in big monolithic applications and I agree it takes time to get the feature in. Especially, you have to get an idea of what code has already been written and how it plays with the components before you start doing anything. First, to not repeat yourself and also to lessen the chances of doing something wrong. I think everything has its trade-offs and use cases. This approach in large applications could make you write less tests, as there is less amount of repeated code. On the other hand you can split your project into independent smaller parts and at the cost of sacrificing DRY you can get something more easy to understand, but then you have to put more effort on testing and integration testing to see if all bits play together correctly and as expected. I agree that the sense of what should be abstracted and what shouldn't comes with experience. It is also very important to get as much information about the problem - this helps choosing the right approach in the context of above.
- brightball 10y agoI tend to take DRY more from a standpoint of data and code to transform that data into other data. I'm less concerned about duplication in code that uses data than I am the code that determines whether the data itself is correct.