Hi,
Actually the code is readable you will see the names of your screens entities and attributes I and it is maintainable by a skilled .net web developer.
But that is not the hard part, the hard part is all the tooling that you will miss. 1 click publish, service center, life time etc.
Also you only can get the detached code if you terminate your contract with OutSystems.
So you have no vendor locking, but you can not change generated code while you still use OutSystems.
You of course are able to extend OutSystems with extension studio and custom build widgets.
Regards,
Daniel