A developer with M.Sc. in Computer Science. Working professionally since 2010. In my free time I make music and cook.
Also I don't and after the recent events will not have Twitter.
Location
Budapest
Education
Eötvös Loránd University (ELTE - Budapest Hungary) Computer Science M. Sc.
I have seen and luckily avoided automatic CRUD systems. Reading your article and the comments there are 2 extremes here.
No. 1. would be fake senior devs who are overthinking everything. Adding complexity is not good engineering, in fact, it is the exact opposite. Folks google this phrase: "The principle of the least surprise". A good senior dev must write code that is easy to understand even to junior devs, while it avoids pitfalls. Also a senior dev should avoid rewriting existing things: for most simple things there are amazing solutions out already.
No. 2.Underestimating backend by simply thinking it is a "just CRUD". At its worst it is just reimplementing basic SQL queries in another languages. In real world applications DB models mostly need to go through consistent states. Somebody somewhere has to defend against invalid states. You can say I've got an API in a week, if then frontend has to make six million wasteful calls and do actual SQLjoins in JS. The whole thing would take ages and then you run the risk that somebody just ignores your frontend where most of the validation resides now and adds bananas through Postman...
So in my experience "just a CRUD API" usually means "I don't know and I don't want to know what the client will ask of me, so I guess they can do whatever they want".
I have seen and luckily avoided automatic CRUD systems. Reading your article and the comments there are 2 extremes here.
No. 1. would be fake senior devs who are overthinking everything. Adding complexity is not good engineering, in fact, it is the exact opposite. Folks google this phrase: "The principle of the least surprise". A good senior dev must write code that is easy to understand even to junior devs, while it avoids pitfalls. Also a senior dev should avoid rewriting existing things: for most simple things there are amazing solutions out already.
No. 2. Underestimating backend by simply thinking it is a "just CRUD". At its worst it is just reimplementing basic SQL queries in another languages. In real world applications DB models mostly need to go through consistent states. Somebody somewhere has to defend against invalid states. You can say I've got an API in a week, if then frontend has to make six million wasteful calls and do actual
SQL
join
s in JS. The whole thing would take ages and then you run the risk that somebody just ignores your frontend where most of the validation resides now and adds bananas through Postman...So in my experience "just a CRUD API" usually means "I don't know and I don't want to know what the client will ask of me, so I guess they can do whatever they want".
Under normal circumstances I’d agree with you, if it wasn’t for your belief in that “it’s just crud”. Maybe slightly exaggerated by me … 😉
dev.to/polterguy/implementing-paym...